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
<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
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
> <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
>
--
Ajith Ranabahu