Hello all,
I've been working with Axis2-0.94's WSDL2Java and I found out that the code
it generates for oneway operations doesn't work.
If we have a wsdl with an operation like this (Where "tns:SimpleMessage"
may be just a "xsd:string"):
<wsdl:portType name="SimplePortType">
<wsdl:operation name="SimpleOperation">
<wsdl:input message="tns:SimpleMessage"/>
</wsdl:operation>
</wsdl:portType>
WSDL2Java generates a Message Receiver that extends
"AbstractInOutSyncMessageReceiver" instead of "AbstractInMessageReceiver":
public class SimplePortTypeMessageReceiver extends
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver { ... }
Also, in the Stub, operations are registered as "OutInAxisOperation",
instead of "InOnlyAxisOperation":
_operations = new org.apache.axis2.description.OutInAxisOperation[1];
Any attept to use the stub to comunicate with the service will result in
the following exception:
org.apache.axis2.AxisFault: org.apache.axis2.AxisFault: Raw Xml provider
supports only the methods bearing the signature public OMElement
<method-name>(OMElement) where the method name can be anything
If we add an output message to the operation, then everything works
perfectly (but the operation isn't oneway any more):
<wsdl:portType name="SimplePortType">
<wsdl:operation name="SimpleOperation">
<wsdl:input message="tns:SimpleMessage"/>
<wsdl:output message="tns:SimpleMessage"/>
</wsdl:operation>
</wsdl:portType>
I also tried to manually change Message Receiver generated, so it extended
"AbstractInMessageReceiver". But I culdn't come to a valid solution.
Am I doing something wrong? Or is this a bug of Axis2-0.94? May I log a bug
in Jira?
Thank you in advance,
Rubén