You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Rubén Naranjo Izquierdo <rn...@alumnos.upm.es> on 2006/01/25 17:40:17 UTC

[Axis2-0.94] WSDL2Java generates bad code for oneway operations

   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

Re: [Axis2-0.94] WSDL2Java generates bad code for oneway operations

Posted by Ajith Ranabahu <aj...@gmail.com>.
Hi Ruben,
Yes this is a problem in the last release. Please log a Jira. I'll anyway
have a look at it soon :)

On 1/25/06, Rubén Naranjo Izquierdo <rn...@alumnos.upm.es> wrote:
>
>    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
>



--
Ajith Ranabahu