The JAX-RPC spec does not require that you use a wrapper element with a name identical to the operation for Document style messages. Axis uses this convention to implement Wrapped style, but it certainly isn't mandated by JAX-RPC. If it did, then JAX-RPC would not be SOAP 1.1 compliant.
The SOAP 1.1 spec does not limit the number of child elements contained in the env:Body element. This has caused interoperability issues, so the WS-I Basic Profile has defined a constraint that the env:Body may contain only one child element (i.e., the <message> definition may contain only one body <part>). But the name of that element in Document style can be anything the author wants it to be. The name of the element is equal to the name of the element referenced in the <part> definition.
In order to use the Wrapped style, the element named in the <part> definition must be the same as the operation name.
Anne
At 06:25 AM 11/19/2003, you wrote:
Hello
From the JAX/RPC 1.0, for both Document and RPC styles: All messages parts appear inside a single wrapper ... (which is) required to have a name identical to the unique operation
And If the use is literal , each message part ... references a concrete schema definition using either the element or type attribute
Starting from the addr sample , I modified the wsdl file , changing the soap binding to Document/Literal, ran wsdl2java and ran the test. I made two tests, one with type attribute, another with element attribute (in that case I added the corresponding element in the types section)
In both case, the test fails , and the message transfered from the client to the server does not show the operation wrapper , rather the part element appears immediately under body
Should not wsdl2java generate a stub accordingly to jax/rpc spec ? Did I miss some options to make wsdl2java behave that way ?
The options used are as follows :
<axis-wsdl2java url="${basedir}/AddressBook.wsdl" output="${src.dir}" deployscope="session" serverSide="yes" skeletonDeploy="yes" noimports="no" verbose="no" typeMappingVersion="1.1" testcase="no"> <mapping namespace="urn:AddressFetcher2" package="christophe.example${test}"/> </axis-wsdl2java>
any hint ?
Thanks a lot for your attention !
Best regards
Christophe
