- 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.
- 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.
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
