axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject RE: document-literal with part name using type attribute
Date Thu, 19 Sep 2002 21:37:16 GMT
Thanks a bunch for the reply. I appreciate the help in my understanding of
the WSDL specification.
Things start to be a little bit clearer for me now.

-----Original Message-----
From: Tom Jordahl [] 
Sent: Thursday, September 19, 2002 4:47 PM
To: ''
Subject: RE: document-literal with part name using type attribute 

I believe you have stumbled upon a problem with the WSDL 1.1 specification.
We are trying to address this in the W3C WSDL working group for the next
revision of the spec.
In general, it would avoid this style of WSDL if at all possible.  I do not
think Axis will do the right thing with this, and it general your feelings
about the soap-body actually having a type are correct, it is broken.
What looks to be a emerging 'common practice', mainly because .NET does it,
it to use the wrapped mode of document/literal which follow these rules:
 - There is a single part
 - the part is defined using element

 - There are no attribute in the Schema for the element
 - the element QName is the same as the operation QName
I hope this helps a little.  I have been working with WSDL for a long time
now, and my comprehension of it details varies with the time of day.  :-)
Tom Jordahl 
Macromedia Server Development 
-----Original Message-----
Sent: Thursday, September 12, 2002 12:41 AM
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.


View raw message