SOAP/WSDL Support Notes

www.altova.com Print this Topic Previous Page Up One Level Next page

Home >  Implementing SOAP Web Services >

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 define 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">
    <part name="inputData" element="ns2:Vendor"/>
</message>

Whereas the following code references a type in the schema:

 

<message name="processRequest">
    <part name="inputData" type="ns2:VendorType"/>
</message>

 

 

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.


© 2019 Altova GmbH