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 Steffen Bleul <bl...@vs.uni-kassel.de> on 2007/08/15 09:42:10 UTC

Bug in Axis 2 Client Side Codegeneration with Codegen

Hi,

I have a code generation problem with Axis2 1.3 and CodeGen. I 
previously sent an email with an Axis 1.4 WSDL2Java problem. Can please 
somebody verify my problem... I really think its a bug!

--------------------------------
Step 1
--------------------------------

I am using the following WSDL description of my Web Service:

<wsdl:types>
  <schema elementFormDefault="qualified" 
targetNamespace="http://www.vs.uni-kassel.de/ADDO/" 
xmlns="http://www.w3.org/2001/XMLSchema">
   <complexType name="ProxyData">
    <sequence>
     <element name="name" nillable="true" type="xsd:string"/>
     <element name="servletcontext" nillable="true" type="xsd:string"/>
     <element name="servletname" nillable="true" type="xsd:string"/>
     <element name="servletpath" nillable="true" type="xsd:string"/>
     <element name="servlettype" nillable="true" type="xsd:string"/>
     <element name="targetAdress" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
   <element name="listProxiesReturn" type="impl:ProxyData"/>
   <element name="in0" type="impl:ProxyData"/>
  </schema>
 </wsdl:types>
 
<wsdl:message name="listProxiesResponse">
      <wsdl:part element="impl:listProxiesReturn" name="listProxiesReturn"/>
</wsdl:message>

<wsdl:message name="listProxiesRequest"></wsdl:message>
 
<wsdl:operation name="listProxies">
    <wsdl:input message="impl:listProxiesRequest" 
name="listProxiesRequest"/>
    <wsdl:output message="impl:listProxiesResponse" 
name="listProxiesResponse"/>
</wsdl:operation>

<wsdl:message name="addProxyResponse"></wsdl:message>

<wsdl:message name="addProxyRequest">
    <wsdl:part element="impl:in0" name="in0"/>
</wsdl:message>

<wsdl:operation name="addProxy" parameterOrder="in0">
    <wsdl:input message="impl:addProxyRequest" name="addProxyRequest"/>
    <wsdl:output message="impl:addProxyResponse" name="addProxyResponse"/>
</wsdl:operation>

--------------------------------
Step 2
--------------------------------

The client application now tests the operation addProxy(ProxyData data):

ProxyControlWebServiceServiceStub stub = new 
ProxyControlWebServiceServiceStub();
In0 in = new In0();
ProxyData data = new ProxyData();
data.setName("bla");
in.setIn0(data);
stub.addProxy(in);

--------------------------------
Step 3
--------------------------------

I get the server side error that the parser cannot find the operation "in0":

org.apache.axis2.AxisFault: No such operation 'in0'
    at 
org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486)

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <soapenv:Fault>
            <faultcode 
xmlns:ns1="http://xml.apache.org/axis/">ns1:Client</faultcode>
            <faultstring>No such operation 'in0'</faultstring>
            <detail>
                <ns2:hostname 
xmlns:ns2="http://xml.apache.org/axis/">guru-c9ee1e3a5f</ns2:hostname>
            </detail>
        </soapenv:Fault>
    </soapenv:Body>
</soapenv:Envelope>
    
This is clear, the client sends the invalid SOAP-Request:

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <ns1:in0 xmlns:ns1="http://www.vs.uni-kassel.de/ADDO/">
            <ns1:name>bla</ns1:name>
            <ns1:servletcontext 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
            <ns1:servletname 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
            <ns1:servletpath 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
            <ns1:servlettype 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
            <ns1:targetAdress 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
        </ns1:in0>
    </soapenv:Body>
</soapenv:Envelope>

Best regards,
Steffen Bleul

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: Bug in Axis 2 Client Side Codegeneration with Codegen

Posted by Amila Suriarachchi <am...@gmail.com>.
what is the data binding you use? can you send complete wsdl?

why you say client sends an invalid request?

Amila.

On 8/15/07, Steffen Bleul <bl...@vs.uni-kassel.de> wrote:
>
> Hi,
>
> I have a code generation problem with Axis2 1.3 and CodeGen. I
> previously sent an email with an Axis 1.4 WSDL2Java problem. Can please
> somebody verify my problem... I really think its a bug!
>
> --------------------------------
> Step 1
> --------------------------------
>
> I am using the following WSDL description of my Web Service:
>
> <wsdl:types>
>   <schema elementFormDefault="qualified"
> targetNamespace="http://www.vs.uni-kassel.de/ADDO/"
> xmlns="http://www.w3.org/2001/XMLSchema">
>    <complexType name="ProxyData">
>     <sequence>
>      <element name="name" nillable="true" type="xsd:string"/>
>      <element name="servletcontext" nillable="true" type="xsd:string"/>
>      <element name="servletname" nillable="true" type="xsd:string"/>
>      <element name="servletpath" nillable="true" type="xsd:string"/>
>      <element name="servlettype" nillable="true" type="xsd:string"/>
>      <element name="targetAdress" nillable="true" type="xsd:string"/>
>     </sequence>
>    </complexType>
>    <element name="listProxiesReturn" type="impl:ProxyData"/>
>    <element name="in0" type="impl:ProxyData"/>
>   </schema>
> </wsdl:types>
>
> <wsdl:message name="listProxiesResponse">
>       <wsdl:part element="impl:listProxiesReturn"
> name="listProxiesReturn"/>
> </wsdl:message>
>
> <wsdl:message name="listProxiesRequest"></wsdl:message>
>
> <wsdl:operation name="listProxies">
>     <wsdl:input message="impl:listProxiesRequest"
> name="listProxiesRequest"/>
>     <wsdl:output message="impl:listProxiesResponse"
> name="listProxiesResponse"/>
> </wsdl:operation>
>
> <wsdl:message name="addProxyResponse"></wsdl:message>
>
> <wsdl:message name="addProxyRequest">
>     <wsdl:part element="impl:in0" name="in0"/>
> </wsdl:message>
>
> <wsdl:operation name="addProxy" parameterOrder="in0">
>     <wsdl:input message="impl:addProxyRequest" name="addProxyRequest"/>
>     <wsdl:output message="impl:addProxyResponse" name="addProxyResponse"/>
> </wsdl:operation>
>
> --------------------------------
> Step 2
> --------------------------------
>
> The client application now tests the operation addProxy(ProxyData data):
>
> ProxyControlWebServiceServiceStub stub = new
> ProxyControlWebServiceServiceStub();
> In0 in = new In0();
> ProxyData data = new ProxyData();
> data.setName("bla");
> in.setIn0(data);
> stub.addProxy(in);
>
> --------------------------------
> Step 3
> --------------------------------
>
> I get the server side error that the parser cannot find the operation
> "in0":
>
> org.apache.axis2.AxisFault: No such operation 'in0'
>     at
> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java
> :486)
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>     <soapenv:Body>
>         <soapenv:Fault>
>             <faultcode
> xmlns:ns1="http://xml.apache.org/axis/">ns1:Client</faultcode>
>             <faultstring>No such operation 'in0'</faultstring>
>             <detail>
>                 <ns2:hostname
> xmlns:ns2="http://xml.apache.org/axis/">guru-c9ee1e3a5f</ns2:hostname>
>             </detail>
>         </soapenv:Fault>
>     </soapenv:Body>
> </soapenv:Envelope>
>
> This is clear, the client sends the invalid SOAP-Request:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> ">
>     <soapenv:Body>
>         <ns1:in0 xmlns:ns1="http://www.vs.uni-kassel.de/ADDO/">
>             <ns1:name>bla</ns1:name>
>             <ns1:servletcontext
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
>             <ns1:servletname
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
>             <ns1:servletpath
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
>             <ns1:servlettype
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
>             <ns1:targetAdress
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
>         </ns1:in0>
>     </soapenv:Body>
> </soapenv:Envelope>
>
> Best regards,
> Steffen Bleul
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Amila Suriarachchi,
WSO2 Inc.