-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
 
Hi Anne,
 First, please forgive me for jumping in to some other thread and
asking this question. But since you have provided some useful info abt
WSDL Document and RPC styles, thought of asking my q here itself.
This is important for Axis2 SOAPBodyBasedDispatcher.

You have mentioned that in RPC style, "the SOAP body contains a
dynamically constructed structure comprising a *root element with a
local name that comes from the operation name*" . If I understood
correct, is it correct to assume that the messages coming to this
service in RPC styles, SHOULD contain the qname of the operation as
the body first child name.
I can remember some one pointed me saying that the body first child
name can also be the name of message element as well of that operation.

What do you think ?

- -- Chinthaka

Anne Thomas Manes wrote:

> WSDL defines two styles:
>
> - Document: It means that the SOAP body contains a document
> comprising a single root element with any number of child elements.
> The WSDL message definition contains at most one body part, and
> that part must reference an element definition in the <types>
> section. Because the element definition must always be defined by a
> schema, all document style services must use="literal". From a WSDL
> perspective, this is the default style. If your WSDL binding
> doesn't specify a style, it means it is document style. - RPC: It
> means that the SOAP body contains a dynamically constructed
> structure comprising a root element with a local name that comes
> from the operation name, and a set of child elements that
> represents the operation/method parameters. The WSDL message
> definition contains one body part for each parameter, and each part
> must reference a type definition. The local names of the child
> elements come from the names specified in the message parts. As I
> said, the structure is dynamically constructed, and it can be
> constructed in two ways. Either it can be constructed literally
> according to the defined parameter types (use="literal") or
> according to the SOAP encoded data model (use="encoded"). From an
> Axis perspective, the default style is rpc/encoded. If you generate
> the service from code and don't specify a style, Axis will generate
> rpc/encoded.
>
> Unfortunately, Axis overloads the term "style" in the WSDD. WSDD
> defines four styles that correspond to three different service
> aspects: the WSDL type (rpc vs document), the provider type
> (java:RPC versus java:MSG), and the programming type (parameter vs
> object vs DOM inputs):
>
> - RPC: Axis generates an rpc/encoded (by default) or rpc/literal
> (if use="literal" is also specified) service that uses the java:RPC
> provider and supports a parameter programming model. - WRAPPED:
> Axis generates a document/literal service that conforms to the
> wrapped convention. It uses the java:RPC provider and supports a
> parameter programming model. (From the programmed perspective, this
> is basically equivalent to RPC style.) - DOCUMENT: Axis generated a
> document/literal service that uses the java:RPC provider and
> supports an object programming model. (From the programming
> perspective, this is very similar to RPC style, but you must bundle
> your parameters into a single object.) - MESSAGE: Axis generates a
> document/literal service that uses the java:MSG provider and
> supports a DOM programming model.
>
> Anne
>
> On 1/8/06, Dink <[EMAIL PROTECTED]> wrote:
>
>> Hi Dies,
>>
>> I have noticed your answer does not include the "Message" style
>> and the most confusing thing is about it. I can not realize what
>> the message style means since it is not defined in WSDL spec.
>> Can you point me some directions or any document? Besides, I have
>> found the axis user guide define the service provider can be
>> either RPC or MSG. However, there is no clear definition of RPC
>> and MSG in the axis user guide. Do the MSG mean the service style
>> is "Message" described above? Is there any relationship between
>> "service provider" and "use/style"?
>>
>> Thanks for your reply, Dink Lo
>>
>> Dies wrote:
>>
>>> Hello Dink,
>>>
>>> The JAX-RPC 1.1 spec describes the "wrapped" style briefly. It
>>> is a variation of Document/literal, and is the recommended
>>> style/use to use.
>>>
>>> With Axis, you have: Document/literal(wrapped): -s WRAPPED -y
>>> literal Document/literal: -s DOCUMENT -y literal RPC/literal:
>>> -s RPC -y literal RPC/encoded: -s RPC -y encoded
>>>
>>> I have never seen Document/encoded, maybe Axis doesn't even
>>> support it.
>>>
>>> #In case of Document/literal(wrapped), the WSDL says
>>> style="document", but SOAP engines use some criteria to
>>> recognize that they are "wrapped". The WSDD says "wrapped" if
>>> it recognized a Document/literal port as being
>>> Document/literal(wrapped).
>>>
>>> Regards, Dies
>>
>>
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
 
iD8DBQFDwpSSjON2uBzUhh8RAtDsAJ94Losqva/5HNKMpf8cI0sqronCZwCgmItp
SgyetrNiRrqCCFbP0zHyOVg=
=ZnxE
-----END PGP SIGNATURE-----

Reply via email to