Loading ...
Sorry, an error occurred while loading the content.
 

Re: [soapbuilders] Digest Number 873

Expand Messages
  • Bob Cunnings
    Hi, See below... ... Agree. ... element ... Hmmm, not necessarily, IMO. Many of the tests in question [1] specify SOAP encoded fault details, for example in
    Message 1 of 2 , Jun 29 10:40 AM
      Hi,

      See below...

      > Just to clarify:
      >
      > Per the SOAP spec definition of the <detail> element [1], the <detail>
      > element contains detail entries. A detail entry is a child element of the
      > <detail> element, and it is identified by its qname. Therefore,
      >
      > <detail><ns1:part2 xsi:type="xsd:string">White Mesa
      > Test</ns1:part2></detail>
      >
      > is correct and
      >
      > <detail xsi:type="xsd:string">White Mesa Test</detail>
      >
      > is incorrect.
      >
      > [1] http://www.w3.org/TR/SOAP/#_Toc478383507
      >
      > (although I question why the type information is included in the message)
      >

      Agree.

      > The format of the <ns:part2> element should be defined as a message <part>
      > in WSDL using document style (the <part> definition must specify an
      element
      > attribute rather than a type attribute).
      >

      Hmmm, not necessarily, IMO. Many of the tests in question [1] specify SOAP
      encoded fault details, for example in the binding "SimpleRpcEncBinding" we
      find "SimpleFault1" described as:

      <fault name="SimpleFault1">
      <soap:fault
      name="SimpleFault1"
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      use="encoded"
      namespace="http://soapinterop.org/wsdl"/>
      </fault>

      And in these cases the message that the fault ultimately maps to looks
      something like this:

      <message name="StringFault">
      <part name="part2" type="xsd:string"/>
      </message>

      Since SOAP encoding is in use the message part must specify a type. From
      WSDL 1.1 sec. 3.5 [2] :

      "If use is encoded, then each message part references an abstract type using
      the type attribute."

      SOAP encoded fault details are permitted by SOAP 1.1 and may be described
      using WSDL 1.1, as evidenced by the definition of the soap:fault binding
      extension element.

      As is so often the case with WSDL 1.1, navigation between the (supposedly
      orthogonal) rpc/document "style" and encoded/literal "use" dichotomies in
      WSDL 1.1 can be treacherous.

      RC

      [1] http://soapinterop.java.sun.com/soapbuilders/r4/simple-rpc-encoded.wsdl
      [2] http://www.w3.org/TR/wsdl#_soap:body

      > Anne
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.