[
https://issues.apache.org/jira/browse/AXIS2-2246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486829
]
Tim Buss commented on AXIS2-2246:
---------------------------------
I have finally narrowed down the mysterious issue with the more complex schema
and rpc-literal. It is a fairly bizarre bug.
If you have a service the is rpc-literal for which you declare a message (eg:
"NewOperation") which has a part with the same name (ie "NewOperation") eg:
<wsdl:message name="NewOperation">
<wsdl:part name="NewOperation" type="xsd:string" />
</wsdl:message>
and then you include a schema file in the wsdl:types section of the WSDL
<xsd:include schemaLocation="Axis2RPCLiteralTest.xsd"/>
that declares a top level element that has the same name as the operation and
part (ie "NewOperation" )
<xsd:element name="NewOperation" type="xsd:string"/>
Then the generated client code will send Document Literal style messages
instead of RPC Literal style messages and the generated server will accept them
and respond, strangely, with an RPC-Literal style message.
Removing the element declaration avoids the issue and the correct RPC-literal
messages are exchanged.
I am using the Axis 1.1.1 SNAPSHOT from 3/21/07 withthe axiom snapshot from
3/23/07
I am generating the service with the following command:
%AXIS2_HOME%/bin/wsdl2java.bat -uri wsdl/Axis2RPCLiteralTest.wsdl -p
org.example.www.axis2rpcliteraltest -s -ss -sd -g -u -t
Now I can reproduce it I will get the latest snapshots and see if it still
shows up.
> Rpc-Literal Client and Server adb codegen create messages that are non WS-I
> complient
> --------------------------------------------------------------------------------------
>
> Key: AXIS2-2246
> URL: https://issues.apache.org/jira/browse/AXIS2-2246
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: adb
> Affects Versions: 1.1.1
> Environment: Axis 1.5, Tomcat 5.5, Axis2 1.1.1, Axis2 Eclipse codegen
> plugin 1.1.1, Eclipse 3.2, WTP 1.5.1, Windows 2003 server
> Reporter: Tim Buss
> Priority: Critical
> Attachments: Axis2RPCLiteralTest.wsdl
>
>
> There appears to be two problems. The most obvious is that the RPC-literal
> message sent by the generated client and accepted by the generated service is
> incorrect . The following message body is sent for the various test cases I
> have tried - string, complex type, nested complex type.
> <soapenv:Body>
> <ns:OperationName>
> <ns:PartName>
> .............content.....
> </ns:PartName>
> </ns:OperationName>
> </soapenv:Body>
> but it should be:
> <soapenv:Body>
> <ns:OperationName>
> <PartName>
> .............content.....
> </PartName>
> </ns:OperationName>
> </soapenv:Body>
> PartName should be a non qualified name. Axis 1.3 did it this way, and other
> sources support this as being the correct form for rpc-literal. In
> particualr WS-I Basic 1.0 states:
> "4.7.20 Part Accessors
> For rpc-literal envelopes, WSDL 1.1 is not clear what namespace, if any, the
> accessor elements for parameters and return value are a part of. Different
> implementations make different choices, leading to interoperability problems.
> R2735 An ENVELOPE described with an rpc-literal binding MUST place the part
> accessor elements for parameters and return value in no namespace.
> R2755 The part accessor elements in a MESSAGE described with an rpc-literal
> binding MUST have a local name of the same value as the name attribute of the
> corresponding wsdl:part element.
> Settling on one alternative is crucial to achieving interoperability. The
> Profile places the part accessor elements in no namespace as doing so is
> simple, covers all cases, and does not lead to logical inconsistency. "
> http://www.ws-i.org/Profiles/BasicProfile-1.2.html
> The second problem that I have yet to narrow down is that with a much more
> complex type, the generated client sends a message with a body like this
> where the "part" element is not present:
> <soapenv:Body>
> <ns:OperationName>
> .............content.....
> </ns:OperationName>
> </soapenv:Body>
> One other difference that may be a factor in this case is that my complex
> service is one way.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]