On 2/23/07, tgb <[EMAIL PROTECTED]> wrote:


As evidence of my assertion on the "correctness" of no namespace for
"parts",
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
http://www.ws-i.org/Profiles/BasicProfile-1.2.html

This assumes WS-I basic complience is a goal for Axis2 which I'm sure is
the
case.  Should I submit a bug?


thanks Tim, please log a jira.  I'll fix it to use no namespace.

Tim



tgb wrote:
>
> 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 - or so I believe.  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.
>
> 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 differnce that may be a factor is that my complex service is
one
> way.
>
> I have attached the WSDL I'm using for the test cases in case someone
can
> point out my obvious error.
>
> Thanks,
> Tim
>
>
>
>
> tgb wrote:
>>
>> Thanks, that makes sense. I understand the workaround for getting the
>> service to show the correct WSDL.
>>
>> However, there seems to be a problem with the client codegen for
>> rpc/literal.  So far I have only managed to make it work correctly with
>> parameter that has a simple type (I tried xs:string)  When I change the
>> type of the parameter to complex type, the client no longer adds the
>> "part" element to the SOAP message it sends.   Instead the "operation"
>> element contains the complex data directly as if the SOAP message was a
>> document literal style message.
>>
>> I am using the axis2 eclipse codegen plugin 1.1.1 with the default
option
>> (ie adb generation).  I'll attach the WSDLs once I think I have a
>> reproducible case
>>
>> Tim
>>
>>
>> Amila Suriarachchi wrote:
>>>
>>> hi,
>>> In codegeneration with wsdl, we convert the rpc style wsdl in to
>>> document
>>> style (similar in messages) by generating the elements for rpc type
>>> messages. And finally save the wsdl file to resource directory. When
>>> saving
>>> the wsdl file back it serializes the generated axis service object
>>> structure
>>> instead of saving the origianl wsdl as it is. That is the reason why
you
>>> get
>>> a wsdl which is converted to document style. So can you please replace
>>> your
>>> saved wsdl in resource folder with the original wsdl and see.
>>> On the other hand axis2 generates a wsdl only if the Message receiver
is
>>> one
>>> of RPCMessageReceivers. but when generating the code from the wsdl it
>>> creates a custom message receiver for the given wsdl file.
>>>
>>> Amila.
>>> --
>>> Amila Suriarachchi,
>>> WSO2 Inc.
>>>
>>>
>>
>>
>  http://www.nabble.com/file/6694/Axis2RPCLiteralTest.wsdl
> Axis2RPCLiteralTest.wsdl
>

--
View this message in context:
http://www.nabble.com/RPC-WSDL---Codegen--tf2593238.html#a9113880
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Amila Suriarachchi,
WSO2 Inc.

Reply via email to