SOAP/WSDL Support Notes
The following table summarizes the WSDL support details in MapForce.
WSDL support | Version 1.1, W3C Note from http://www.w3.org/TR/wsdl Version 2.0, W3C Recommendation from http://www.w3.org/TR/wsdl20/ |
WSDL type system | XML Schema 2001 |
SOAP support | Version 1.1: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ Version 1.2: http://www.w3.org/TR/soap12-part0/ |
Protocols | SOAP over HTTP (HTTP POST, HTTP GET protocols are not supported). |
C# | The SOAPAction must be different for each operation in C#. |
Bindings | Multiple operations with same name are currently not supported (Section 2.5 of the WSDL 1.1 specification). |
style/use | •Document/literal: supported. •RPC/literal: supported in C# •RPC/encoded: limited support •One style/use per Web service (Java), or operation (C#) is currently supported. |
SOAP headers | Depends on underlying platform. |
SOAP encodingStyle | If use="encoded", encoding style "http://schemas.xmlsoap.org/soap/encoding/" for complete soap:Body is assumed. There is no support for other encoding styles.
The encodingStyle attribute is ignored in messages (Section 4.1.1 of the SOAP 1.1 specification). |
References | •References to external resources are currently not supported (Section 5.4.1 of the SOAP 1.1 specification). •References to independent elements are supported. |
SOAP-ENC:Array | Linear access is supported. Partial arrays and sparse arrays are currently not supported. |
Custom SOAP enhancements | Not supported. |
Default or fixed values in schemas | Not supported. |
Non SOAP message validation | Not validated; passed on to underlying framework. |
Namespaces | Non namespace entries are invalid WSDL, and are therefore not supported (WSDL and XML 1.0). |
WSDL 1.1
portType
A <portType> element defines a Web service interface, namely:
•the operations that can be performed.
•the messages involved in each operation as inputs and outputs.
types
The <types> element defines the datatypes that are used by the Web service. MapForce supports XML Schemas in WSDL files, as this is the most common type system for WSDL files. MapForce displays these elements (datatypes) as items in a (message) component, allowing you to map them to other item/constructs directly.
message
The <message> element defines the parts of each message and the data elements of an operation's input and output parameters. These are the messages exchanged by the client and server. There are three types of messages: Input, Output and Fault. In MapForce, each message is a component from or to which you can map other items. Messages can consist of one or more message parts.
When using the document / literal combination in MapForce, it is necessary that the message / part element refer to a global element as opposed to a type. For example, in the following code, the element attribute refers to a global element defined in a schema (ns2:Vendor):
<message name="processRequest"> |
Whereas the following code references a type in the schema:
<message name="processRequest"> |
operation
Operations use messages as input and output parameters. An operation can have:
•one Input message
•zero or more Output messages
•zero or more Fault messages
Input messages can only be used as source components. Output and Fault messages can only be used as target components.
WSDL 2.0
WSDL 2.0 is substantially different from WSDL 1.1, the main differences being:
•PortTypes have been renamed to interfaces.
•Messages and parts are now defined using the XML Schema type system in the types element.
•Ports have been renamed to endpoints.
•WSDL 2.0 operation inputs and outputs are defined by the XML schema.
In MapForce, the Component Settings dialog box of a WSDL component displays "Endpoint" for both WSDL 1.1 Ports and WSDL 2.0 endpoints. |