Tom Jordahl
Macromedia Server Development
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Thursday, September 12, 2002 12:41 AM
To: [EMAIL PROTECTED]
Subject: document-literal with part name using type attribute
I know that all you guys are probably quite busy
between the RC1 and soon to come GA.
I
sent the following question (in an old existing thread) in the axis-dev list and
I did not get any reply. I was wondering if one of you could help understand one
specific area of the WSDL 1.1 specification.
The question is related to the document-literal
with message part referencing a concrete schema definition using the type
attribute (and not the element one).
Here is the corresponding extract from
the WSDL1.1 specification (end of section 3.5):
If use is literal, then
each part references a concrete schema definition using either the element or
type attribute. In the first case, the element referenced by the part will
appear directly under the Body element (for document style bindings) or under an
accessor element named after the message part (in rpc style). In the second, the
type referenced by the part becomes the schema type of the enclosing element
(Body for document style or part accessor element for rpc style). For an example
that illustrates defining the contents of a composite Body using a type, see
section 2.3.1. The value of the encodingStyle attribute MAY be used when the use
is literal to indicate that the concrete format was derived using a particular
encoding (such as the SOAP encoding), but that only the specified variation is
supported ("writer makes right").
What I am not sure to understand is "In
the second, the type referenced by the part becomes the schema type of the
enclosing element (Body for document style ....".
First, it seems weird to me, from a pure XML point of view, that I the soap:body element can become of any type (but I am far from being fluent in XML Schema). And in the case this is completely valid, what does it mean if the message has multiple parts (either all of them using the type attribute or a mix of type and element attribute)? Can the soap:body be of multiple different type? What about potential conflict?
When you look at some web services out there,
most document style have only one part, and if there is multiple part the
element attribute is used (instead of type). I'd like to understand if this a
de-facto standard or if I missed something somewhere specifying that it is
supposed to be that way.
Any help will be
appreciated.
Thomas