WsdlConverterLimitations

From W3C Wiki

This page describes the limitations of the WSDL 1.1 to WSDL 2.0 converter WsdlConverter.

Some of those limitations are due to the difference between the two languages, while others are simply due to the implementation being in progress.

  1. Message parts defined with an XSD type are ignored and message references are declared as `#any`
  2. Messages that have more than one part are also treated as `#any` at the interface level, except if:
    • the message is bound to SOAP and has only one part which is the body
    • the message is bound to HTTP
  3. Messages that have more than one part serialized in the body are not describable with WSDL 2.0 Core, as the message reference is described with an element declaration
  4. `soap:headerfault` is not handled; there is no equivalent in WSDL 2.0 Adjuncts
  5. SOAP binding `encoded` value of the `@use` attribute; note that this is prohibited by the WS-I BP
  6. HTTP binding:
    • the input and output serializations need more work to be sure that the results are always correct
    • the namespace to declare the messages is made up by the converter (`concat(/w11:definitions/@targetNamespace, 'GEN')`); there probably is a better way to do this
  7. MIME binding: mostly the multipart part, as the rest should be handled by the HTTP binding
  8. If a WSDL 1.1 import points to an XML Schema that is not reachable, the WSDL 2.0 document will point to it as a set of WSDL 2.0 components instead of a set of XML Schema components; note that this is not a problem in the context of the WS-I BP as WSDL import is restricted to WSDL documents
  9. Style information is not generated; they don't exist in WSDL 1.1, and there currently is no code to check the schema constraints
  10. More that one `portType`s for one service; see Charlton's WSDL 2.0 FAQ for a discussion of this change in WSDL 2.0
  11. There is a number of places in the code where assumptions are made at the interface level based on the type of binding done of this interface. Things are likely to break if the interface is bound more than once with different bindings (say with SOAP 1.1 RPC-style and HTTP 1.1 with URL-replacement parameters).

Feedback is invited (see WsdlConverterFeedback).