Hmm.... Sounds like a bug. Please file a Jira with your WSDL attached.
Ajith On 7/7/06, M S <[EMAIL PROTECTED]> wrote:
Hi, Well the problem with using Axis2 1.0 is that it generates an erroneus WSDL. I tried to reproduce the guide at http://www.wso2.net/tutorials/axis2/java/2006/05/29/hello-world. According to that page and according to my experience, it creates an erroneus WSDL which in turn, leads to java stubs that do not contain inner classes (the author of the above page also points out the fact that one should use nightly builds). In anycase, I have tried using a nightly build axis2.war (so that the WSDL is correct) and Axis2 1.0 WSDL2Java (so that the stub generation is correct), but it doesnt work. Im out of ideas. Anyone? Regards On 7/6/06, Kinichiro Inoguchi <[EMAIL PROTECTED]> wrote: > Hi, > > If you use Axis2 1.0 release version, it will work. > > RPCMessageReceiver of Nightly Builds have problem that returns > "broken" qualified response. > I created JIRA for this issue today. > > generated stub client send message like this, > <soapenv:Body> > <ns1:echo xmlns:ns1="http:///xsd"> > <ns1:echostring>from client app</ns1:echostring> > </ns1:echo> > </soapenv:Body> > > RPCMessageReceiver returns message like this, > <soapenv:Body> > <ns:echoResponse xmlns:ns=" http:///xsd"> > <return>from client app</return> > </ns:echoResponse> > </soapenv:Body> > > <retrun> is NOT qualified with prefix "ns". > your error message "Unexpected subelement return" of "return" means > this. > > > claims > > that this error message appears because axis2 does not support RPC > > Bindings. > > No, this means Axis2 does not support RPC/Encoded, > As Anne mentioned before, RPC/literal is supported. > > Regards, > kinichiro > > --- M S <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > Basically what I'm trying to do is to create a simple Web Service > > that will > > receive a String and retun the same string, i.e. basically an "echo" > > web > > service. I tried using the sample on the Axis2 documentation page > > with > > OMElement - it works fine. > > > > My problem is that I want to use String instead of OMElement on both > > sides > > (server as well as client). Apparently, I cant do this unless I use > > the RPC > > > > So what I have is a services.xml that looks like this: > > - <#> <service> > > - <#> <operation name="*echo*"> > > <messageReceiver class="* > > org.apache.axis2.rpc.receivers.RPCMessageReceiver* " /> > > </operation> > > <parameter name="*ServiceClass*" > > locked="*false*">MyService2</parameter> > > </service> > > > > A MyService2.java that looks like this: > > > > public class MyService2 { > > public String echo(String echostring) { > > return echostring; > > } > > > > } > > > > I can deploy this using axis2.war on JBoss. It deploys fine, and I > > get the > > following WSDL: > > > > <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > xmlns:axis2="http://ws.apache.org/axis2" xmlns:mime=" > > http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http=" > > http://schemas.xmlsoap.org/wsdl/http/" xmlns:ns0="http:///xsd" > > xmlns:soap12=" http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns1=" > > http://org.apache.axis2/xsd" > > xmlns:xs="http://www.w3.org/2001/XMLSchema " > > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace=" > > http://ws.apache.org/axis2 "><wsdl:types><xs:schema > > xmlns:stn_3="http:///xsd" > > targetNamespace="http:///xsd" elementFormDefault="qualified" > > attributeFormDefault="qualified"> > > <xs:element name="echo"> > > <xs:complexType> > > <xs:sequence> > > <xs:element type="xs:string" name="param0" /> > > </xs:sequence> > > </xs:complexType> > > </xs:element> > > <xs:element name="echoResponse"> > > <xs:complexType> > > <xs:sequence> > > <xs:element type="xs:string" name="return" /> > > </xs:sequence> > > </xs:complexType> > > </xs:element> > > </xs:schema></wsdl:types> > > > > <wsdl:message name="echoMessage"><wsdl:part element="ns0:echo" > > name="part1" > > /></wsdl:message><wsdl:message name="echoResponse"><wsdl:part > > element="ns0:echoResponse" name="part1" > > /></wsdl:message><wsdl:portType > > name="MyService2PortType"><wsdl:operation name="echo"><wsdl:input > > message="axis2:echoMessage" /><wsdl:output > > message="axis2:echoResponse" > > /></wsdl:operation></wsdl:portType><wsdl:binding > > type="axis2:MyService2PortType" > > name="MyService2SOAP11Binding"><soap:binding > > style="document" transport=" http://schemas.xmlsoap.org/soap/http" > > /><wsdl:operation name="echo"><soap:operation style="document" > > soapAction="urn:echo" /><wsdl:input><soap:body use="literal" > > /></wsdl:input><wsdl:output><soap:body use="literal" > > /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding > > type="axis2:MyService2PortType" > > name="MyService2SOAP12Binding"><soap12:binding style="document" > > transport=" > > http://schemas.xmlsoap.org/soap/http" /><wsdl:operation > > name="echo"><soap12:operation style="document" soapAction="urn:echo" > > /><wsdl:input><soap12:body use="literal" > > /></wsdl:input><wsdl:output><soap12:body use="literal" > > /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding > > type="axis2:MyService2PortType" > > name="MyService2HttpBinding"><http:binding > > verb="POST" /><wsdl:operation name="echo"><http:operation > > location="echo" > > /><wsdl:input><mime:content type="text/xml" > > /></wsdl:input><wsdl:output><mime:content type="text/xml" > > /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service > > name="MyService2"><wsdl:port binding="axis2:MyService2SOAP11Binding" > > name="MyService2SOAP11port_http"><soap:address location=" > > http://localhost:8080/axis2/services/MyService2" > > /></wsdl:port><wsdl:port > > binding="axis2:MyService2SOAP12Binding" > > name="MyService2SOAP12port_http"><soap12:address location=" > > http://localhost:8080/axis2/services/MyService2" > > /></wsdl:port><wsdl:port > > binding="axis2:MyService2HttpBinding" > > name="MyService2Httpport0"><http:address location=" > > http://localhost:8080/axis2/rest/MyService2" > > /></wsdl:port></wsdl:service></wsdl:definitions> > > I then try to use WSDL2Java to create client stubs based on this > > WSDL. It > > does generate them, but when I try to run the client I get the > > following > > error: > > > > > > Exception in thread "main" java.lang.RuntimeException: > > java.lang.RuntimeException: Unexpected subelement return > > at > > org.apache.axis2.MyService2Stub.fromOM(MyService2Stub.java:665) > > at > > org.apache.axis2.MyService2Stub.echo (MyService2Stub.java:144) > > at org.apache.axis2.Client.main(Client.java:16) > > Caused by: java.lang.RuntimeException: Unexpected subelement return > > at > > > org.apache.axis2.MyService2Stub$EchoResponse$Factory.parse (MyService2Stub.java:419) > > at > > org.apache.axis2.MyService2Stub.fromOM(MyService2Stub.java:657) > > ... 2 more > > I googled this and this page ( > > > http://mail-archives.apache.org/mod_mbox/ws-axis-dev/200605.mbox/[EMAIL PROTECTED]) > > claims > > that this error message appears because axis2 does not support RPC > > Bindings. > > > > I'm confused - how do I generate a client for this WSDL? > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
-- Ajith Ranabahu --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
