Hello,
I'm running  Axis C++ 1.6b on linux.  I have a WSDL for a protocol that we are using, however the generated client does not reflect the interface.  ( I compiled the WSDL with Axis 1.4 ( Java ) and the generated code is what I expected ).

Am I doing something wrong in compiling the WSDL, or is it a bug in Axis C++?

Thanks,
Mark Hoffmann

Generated C++: ( -lc++ -sclient )
class MyMessagePortType :public Stub
{
public:
    STORAGE_CLASS_INFO MyMessagePortType(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol=APTHTTP1_1);
    STORAGE_CLASS_INFO MyMessagePortType();
public:
    STORAGE_CLASS_INFO virtual ~MyMessagePortType();
public:
    STORAGE_CLASS_INFO void MyMessageOperation(xsd__string Value0, xsd__string Value1, xsd__int Value2);
};

Generated Java:
public interface MyMessagePortType extends java.rmi.Remote {
    public java.lang.String myMessageOperation(localhost.test_wsdl.RequestType request) throws java.rmi.RemoteException;
}

WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
   name="TestService"
   targetNamespace="http://localhost/test.wsdl"
   xmlns="http://schemas.xmlsoap.org/wsdl/"
   xmlns:ns="http://localhost/test.wsdl"
   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <wsdl:types>
      <xsd:schema
         targetNamespace="http://localhost/test.wsdl"
         xmlns="http://schemas.xmlsoap.org/wsdl/"
         xmlns:ns="http://localhost/test.wsdl"
         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
         xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         elementFormDefault="qualified">
 
         <xsd:complexType name="RequestType">
            <xsd:sequence>
               <xsd:element name="request1" type="xsd:string"/>
               <xsd:element name="request2" type="xsd:string"/>
               <xsd:element name="request3" type="xsd:int"/> 
            </xsd:sequence>
         </xsd:complexType>
 
         <xsd:element name="myRequest" type="ns:RequestType"/>
         <xsd:element name="myResponse" type="xsd:string"/>
      </xsd:schema>
   </wsdl:types>
 
   <wsdl:message name="Response">
      <wsdl:part element="ns:myResponse" name="response">
      </wsdl:part>
   </wsdl:message>
   <wsdl:message name="Request">
      <wsdl:part element="ns:myRequest" name="request">
      </wsdl:part>
   </wsdl:message>
 
   <wsdl:portType name="MyMessagePortType">
      <wsdl:operation name="MyMessageOperation">
         <wsdl:input message="ns:Request">
         </wsdl:input>
         <wsdl:output message="ns:Response">
         </wsdl:output>body use="literal"/>
            </wsdl:input>
            <wsdl:output>
               <wsdlsoap:body use="literal"/>
            </wsdl:output>
         </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="TestService">
       <wsdl:port binding="ns:MyMessageBinding" name="MyMessageServicePort">
         <wsdlsoap:address
            location="http://localhost/axis/TestService"/>
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>



Check out AOL.com today. Breaking news, video search, pictures, email and IM. All on demand. Always Free.

Reply via email to