tags:

views:

8

answers:

0

I have a WSDL specifying the following port:

 <wsdl:portType name="Foo">
  <wsdl:documentation>...</wsdl:documentation>
  <wsdl:operation name="getFoo">
   <wsdl:documentation>...</wsdl:documentation>
   <wsdl:input message="tns:getFooRequest"></wsdl:input>
   <wsdl:output message="tns:getFooResponse"></wsdl:output>
   <wsdl:fault name="fooNotValid" message="tns:fooNotValidFault"></wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>

The WSDL and SOAP 1.1 specifications seem incredibly poor on definining how exactly a 'fooNotValid' fault has to be encoded in SOAP 1.1.

The two potential solutions I came up with were:

   <soapenv:Body>
      <soapenv:Fault>
     <faultcode>v1:fooNotValid</faultcode>
     <faultstring/>
      </soapenv:Fault>
   </soapenv:Body>

and

   <soapenv:Body>
      <soapenv:Fault>
     <faultcode>soapenv:Client</faultcode>
     <faultstring/>
     <detail>
   <v1:fooNotValid/>
     </detail>
      </soapenv:Fault>
   </soapenv:Body>

Which one is correct? Or are they both wrong? Could anybody please point out where this stuff is documented/specified?

Thank you very much in advance.

Regards, Joe