Can someone please give me a clue why I'm getting the error message "No such operation 'name'" with one of my webservice methods. I'm getting this problem both in Axis 1.0 and Axis 1.1 which are integrated into JBoss 3.2.1 and 3.2.2, respectively.
Here is what I have done: 1. Took two WSDL's generated from Visual Studio .NET 1.1. Note that both WSDL's use the RPC style service. One WSDL contains one service with three methods while the other one contains one service with one method. See below for the contents of the two WSDL files. 2. Generated Java code from the two WSDL's using WSDL2Java using the following options "-o -s -v". 3. Filled in the implementation classes of each service and compiled all the Java code. 4. Deployed the server side code. Note that the WSDD generated by WSDL2Java is referring to the implementation class due to the -s option on WSDL2Java. 5. Created a .NET client and a Java client. Note that the Java client is using the locator and stub classes generated by WSDL2Java. Both clients use the login and logout method from the first service and the getRendition method from the second service. 6. Tested both clients. The .NET client can successfully invoke and receive replies for all three methods it is calling while the Java client is failing on the getRendition method from the second service. The error message received is "No such operation 'getRendition'". Note that I have tested both clients against Axis 1.0 and Axis 1.1 with the same results. Any help will be very much appreciated. Here is the content of the first WSDL file: <?xml version="1.0" encoding="utf-8"?> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap ="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s=" http://www.w3.org/2001/XMLSchema" xmlns:s0=" http://repository.towertech.com/" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm=" http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime=" http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace=" http://repository.towertech.com/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema targetNamespace="http://repository.towertech.com/"> <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <s:import namespace="http://schemas.xmlsoap.org/wsdl/" /> <s:complexType name="ArrayOfTTNameValue"> <s:complexContent mixed="false"> <s:restriction base="soapenc:Array"> <s:attribute d7p1:arrayType="s0:TTNameValue[]" ref ="soapenc:arrayType" xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/" /> </s:restriction> </s:complexContent> </s:complexType> <s:complexType name="TTNameValue"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="m_Name" type ="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="m_Value" type ="s:string" /> </s:sequence> </s:complexType> </s:schema> </types> <message name="loginSoapIn"> <part name="userID" type="s:string" /> <part name="password" type="s:string" /> <part name="options" type="s0:ArrayOfTTNameValue" /> </message> <message name="loginSoapOut"> <part name="loginResult" type="s:string" /> </message> <message name="logoutSoapIn"> <part name="license" type="s:string" /> </message> <message name="logoutSoapOut" /> <message name="insertSoapIn"> <part name="license" type="s:string" /> <part name="appName" type="s:string" /> <part name="columns" type="s0:ArrayOfTTNameValue" /> </message> <message name="insertSoapOut"> <part name="license" type="s:string" /> </message> <portType name="Service1Soap"> <operation name="login"> <input message="s0:loginSoapIn" /> <output message="s0:loginSoapOut" /> </operation> <operation name="logout"> <input message="s0:logoutSoapIn" /> <output message="s0:logoutSoapOut" /> </operation> <operation name="insert" parameterOrder="license appName columns"> <input message="s0:insertSoapIn" /> <output message="s0:insertSoapOut" /> </operation> </portType> <binding name="Service1Soap" type="s0:Service1Soap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style ="rpc" /> <operation name="login"> <soap:operation soapAction="http://repository.towertech.com/login" style="rpc" /> <input> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> <operation name="logout"> <soap:operation soapAction="http://repository.towertech.com/logout" style="rpc" /> <input> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> <operation name="insert"> <soap:operation soapAction="http://repository.towertech.com/insert" style="rpc" /> <input> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> </binding> <service name="Service1"> <port name="Service1Soap" binding="s0:Service1Soap"> <soap:address location="http://localhost/WebService1/Service1.asmx" /> </port> </service> </definitions> Here is the content of the second WSDL file: <?xml version="1.0" encoding="utf-8"?> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap ="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s=" http://www.w3.org/2001/XMLSchema" xmlns:s0=" http://repository.towertech.com/" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm=" http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime=" http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace=" http://repository.towertech.com/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema targetNamespace="http://repository.towertech.com/"> <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <s:import namespace="http://schemas.xmlsoap.org/wsdl/" /> <s:complexType name="ArrayOfTTNameValue"> <s:complexContent mixed="false"> <s:restriction base="soapenc:Array"> <s:attribute d7p1:arrayType="s0:TTNameValue[]" ref ="soapenc:arrayType" xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/" /> </s:restriction> </s:complexContent> </s:complexType> <s:complexType name="TTNameValue"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="m_Name" type ="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="m_Value" type ="s:string" /> </s:sequence> </s:complexType> </s:schema> </types> <message name="getRenditionSoapIn"> <part name="license" type="s:string" /> <part name="docID" type="s:string" /> <part name="pageNum" type="s:string" /> <part name="subPageNum" type="s:string" /> <part name="renditionType" type="s:string" /> <part name="options" type="s0:ArrayOfTTNameValue" /> </message> <message name="getRenditionSoapOut"> <part name="getRenditionResult" type="s:base64Binary" /> </message> <portType name="Service2Soap"> <operation name="getRendition"> <input message="s0:getRenditionSoapIn" /> <output message="s0:getRenditionSoapOut" /> </operation> </portType> <binding name="Service2Soap" type="s0:Service2Soap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style ="rpc" /> <operation name="getRendition"> <soap:operation soapAction=" http://repository.towertech.com/getRendition" style="rpc" /> <input> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace=" http://repository.towertech.com/" encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> </binding> <service name="Service2"> <port name="Service2Soap" binding="s0:Service2Soap"> <soap:address location="http://localhost/WebService2/Service2.asmx" /> </port> </service> </definitions>
