Bug submitted as AXIS2-2246


Amila Suriarachchi wrote:
> 
> 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.
> 
> 

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


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

Reply via email to