WS-I Basic Profile about soap:body

1k Views Asked by At

I'm kinda new to SOAP.

In my WSDL, I've got a message element composed of several part elements. In the binding part of my WSDL, if the soap:body element does not include any parts attribute, I get the WS-I Basic Profile compliance error BP2119:

A document-literal binding which does not specify the parts attribute, has more than one wsdl:part in the associated wsdl:message element.

I read in some docs that if no parts attribute is specified, it is considered that all part elements are included in the binding, but I'm guessing this assertion does not take into account the Basic Profile compliance. I therefore added a parts attribute with all the message's parts:

<soap:body parts="cpName fpList" use="literal"/>

But then, I'm getting the BP2111 error:

One or more soapbind:body element(s) in a document-literal soap:binding does not have at most one part listed in the parts attribute.

So, I have to specify the parts, but I can put only one? Aren't these two errors contradictory? How do I get away with that?

Alternatively, do I have to be Basic Profile-compliant? If not, how do I deactivate these checks in axis2?

1

There are 1 best solutions below

0
On BEST ANSWER

I found some answers here: http://www.ibm.com/developerworks/library/ws-usagewsdl/

In bulk, document-literal wrapped pattern doesn't authorize several parts for one message. A message has to be composed of only one part, whose type will be an XS element who itself can be composed of multiple elements.