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 
&lt;method-name&gt;(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

Reply via email to