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#a9098426 Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]