Christophe,

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




Reply via email to