Hi,
Bug AXIS2-4350 seems to have been introduced by the patch that is attached to
AXIS2-4058. This bug makes 1.5 unusable for some very simple scenarios. Take
for example this web service:
public class Server {
public String echoString(String s) {
return s;
}
}
And this services.xml:
<service>
<parameter name="ServiceClass">Server</parameter>
<operation name="echoString">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
</service>
If no wsdl file is supplied with this web service, it works as expected and a
wsdl is automatically generated. However, if exactly the same wsdl is generated
offline:
java2wsdl.sh -cn Server
The service becomes unusable, because any parameters passed to it are always
null. It's not even possible to invoke the service through the REST interface.
The offending patch caused WSDL11ToAxisServiceBuilder to set
AxisMessage.isWrapped to false for all document style web services, including
those that are document/wrapped. Since the default for java2wsdl is to generate
document/wrapped, this means that a wsdl generated with the default options to
java2wsdl does not work when deployed into an Axis webapp with the default
configuration. There doesn't even seem to be any easy way to change isWrapped
back to true, short of writing some code.
I have no idea if it is possible to set isWrapped correctly based on document
style wsdl, but brute forcing it to false doesn't look like the correct
solution (specially when it seems to default to true everywhere else in Axis).
Regards,
Pétur Runólfsson
Betware
The content of this e-mail, together with any of its attachments, is for the
exclusive and confidential use of the named addressee(s) and it may contain
legally privileged and confidential information and/or copyrighted material.
Any other distribution, use or reproduction without the sender's prior consent
is unauthorized and strictly prohibited. If you have by coincidence, mistake or
without specific authorization received this e-mail in error, please notify the
sender by e-mail immediately, uphold strict confidentiality and neither read,
copy, transfer, disseminate, disclose nor otherwise make use of its content in
any way and delete the material from your computer.
The content of the e-mail and its attachments is the liability of the
individual sender, if it does not relate to the affairs of Betware.
Betware does not assume any civil or criminal liability should the e-mail or
it´s attachments be virus infected.