Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 2.43 KB

supported_standards_and_limitations.md

File metadata and controls

51 lines (41 loc) · 2.43 KB

Features, Supported standards and limitations

Features

  • support for both the client and the server side
  • generate client module (stubs), server module (skeletons) and data types from WSDL ("contract first")
  • Generate WSDL from type and function specifications ("contract last")
  • XML <--> Erlang data mapping
  • pre-integrated with HTTP clients Inets/HTTPC and ibrowse
  • pre-integrated with HTTP server Inets/HTTPD, Cowboy (versions 1.* and 2) and Mochiweb
  • defined APIs for integration with other HTTP servers/clients
  • generation of example messages for easy testing
  • support for SOAP with attachments

Supported standards

The soap application supports SOAP communication over HTTP.

The following standards have been used as the starting points:

The support for these standards is in general limited to WS-I Basic Profile Version 1.2 for SOAP 1.1 and WS-I Basic Profile Version 2.0 for SOAP 1.2.

For WSDL 2.0 only SOAP bindings are supported, and only the basic features have been implemented.

Limitations

The WS-I basic profiles put a number of restrictions on web services. In general only web services that comply to the WS-I basic profile are supported by the soap application.

The most important restrictions from the WS-I basic profile are:

  • No support for SOAP encoding (only "literal" encoding)
  • No support for the soapenc:arrayType
  • Not more than 1 wsdl:part in the message body
  • WSDL 1.1 must be used to describe the service. (but the soap application also offers limited support for WSDL 2.0 with SOAP bindings).

The soap application uses erlsom for the serialization/de-serialization to and from XML. This means that the limitations of erlsom also apply. There are a few XML Schema features that are not supported, and there are some limitations regarding the data mapping and type checking. These can be found in the erlsom documentation.