java client and MS Webservice
firestormua Jan 30, 2007 1:15 PMI am trying to make Jboss WS jaxrpc client from samples work with MS webservice. I got next error when I run client:
[java] 12:01:12,376 WARN [WSDLDefinitions] Multiple WSDL bindings referrence the same interface: {http://tempuri.org/TitanWebServices/TitanService}TitanServiceSoap
[java] 12:01:12,408 WARN [WSDLDefinitions] Multiple WSDL bindings referrence the same interface: {http://tempuri.org/TitanWebServices/TitanService}TitanServiceSoap
[java] 12:01:12,423 WARN [SchemaBindingBuilder] Cannot obtain type binding for: {http://tempuri.org/TitanWebServices/TitanService}>TitanRunNavisionResult
[java] 12:01:12,455 ERROR [STDERR] javax.xml.rpc.JAXRPCException: Cannot obtain operation meta data for: {http://tempuri.org/TitanWebServices/TitanService}TitanRunNavision
[java] 12:01:12,455 ERROR [STDERR] at org.jboss.ws.jaxrpc.CallImpl.getOperationMetaData(CallImpl.java:840)
[java] 12:01:12,455 ERROR [STDERR] at org.jboss.ws.jaxrpc.CallImpl.getOperationMetaData(CallImpl.java:820)
[java] 12:01:12,455 ERROR [STDERR] at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:618)
[java] 12:01:12,455 ERROR [STDERR] at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:404)
[java] 12:01:12,455 ERROR [STDERR] at
........
<-------------------------skipped
I feel there is something small I am missing here, can somebody tell me what is wrong here?
It generated next classes in package org.tempuri.titanwebservices.titanservice;:
TitanRunNavision.java
TitanRunNavisionResponse.java
TitanRunNavisionResponseTitanRunNavisionResult.java
TitanService.java
TitanServiceSoap.java
TitanRunNavisionResponse.java
TitanRunNavisionResponseTitanRunNavisionResult.java
TitanService.java
TitanServiceSoap.java
here is my code
private final String TARGET_ENDPOINT_ADDRESS1 = "http://dev4:6699/titanwebservices/service.asmx"; private static final String TARGET_NAMESPACE1 = "http://tempuri.org/TitanWebServices/TitanService"; private static Call call; protected void setUp() throws Exception { if (port == null) { ServiceFactoryImpl factory = new ServiceFactoryImpl(); URL wsdlLocation = new URL(TARGET_ENDPOINT_ADDRESS1 + "?wsdl"); URL mappingURL = new File("c:/tmp/ws/jaxrpc-mapping.xml").toURL(); //service wsdl location QName serviceName = new QName(TARGET_NAMESPACE1, "TitanService"); ServiceImpl service = (ServiceImpl)factory.createService(wsdlLocation, serviceName, mappingURL); call = service.createCall(); } } public void testUserType() throws Exception { QName operationName = new QName(TARGET_NAMESPACE1, "TitanRunNavision"); call.setOperationName(operationName); String functionName = "GetCustomer"; String parameterList = "10000"; Object retObj = call.invoke(new Object[]{functionName, parameterList}); System.out.println("done"); }
here is wsdl
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/TitanWebServices/TitanService" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/TitanWebServices/TitanService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/TitanWebServices/TitanService"> <s:element name="TitanRunNavision"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="FunctionName" type="s:string"/> <s:element minOccurs="0" maxOccurs="1" name="ParameterList" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="TitanRunNavisionResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="TitanRunNavisionResult"> <s:complexType> <s:sequence> <s:any/> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types> <wsdl:message name="TitanRunNavisionSoapIn"> <wsdl:part name="parameters" element="tns:TitanRunNavision"/> </wsdl:message> <wsdl:message name="TitanRunNavisionSoapOut"> <wsdl:part name="parameters" element="tns:TitanRunNavisionResponse"/> </wsdl:message> <wsdl:portType name="TitanServiceSoap"> <wsdl:operation name="TitanRunNavision"> <wsdl:input message="tns:TitanRunNavisionSoapIn"/> <wsdl:output message="tns:TitanRunNavisionSoapOut"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="TitanServiceSoap" type="tns:TitanServiceSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="TitanRunNavision"> <soap:operation soapAction="http://tempuri.org/TitanWebServices/TitanService/TitanRunNavision" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:binding name="TitanServiceSoap12" type="tns:TitanServiceSoap"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="TitanRunNavision"> <soap12:operation soapAction="http://tempuri.org/TitanWebServices/TitanService/TitanRunNavision" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="TitanService"> <wsdl:port name="TitanServiceSoap" binding="tns:TitanServiceSoap"> <soap:address location="http://dev4/titanwebservices/service.asmx"/> </wsdl:port> <wsdl:port name="TitanServiceSoap12" binding="tns:TitanServiceSoap12"> <soap12:address location="http://dev4/titanwebservices/service.asmx"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
mapping generated by jboss wstools
<?xml version='1.0' encoding='UTF-8'?><java-wsdl-mapping version='1.1' xmlns='http://java.sun.com/xml/ns/j2ee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd'> <package-mapping> <package-type>org.tempuri.titanwebservices.titanservice</package-type> <namespaceURI>http://tempuri.org/TitanWebServices/TitanService</namespaceURI> </package-mapping> <java-xml-type-mapping> <java-type>org.tempuri.titanwebservices.titanservice.TitanRunNavision</java-type> <anonymous-type-qname xmlns:typeNS='http://tempuri.org/TitanWebServices/TitanService'>typeNS:>TitanRunNavision</anonymous-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>functionName</java-variable-name> <xml-element-name>FunctionName</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>parameterList</java-variable-name> <xml-element-name>ParameterList</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type>org.tempuri.titanwebservices.titanservice.TitanRunNavisionResult</java-type> <anonymous-type-qname xmlns:typeNS='http://tempuri.org/TitanWebServices/TitanService'>typeNS:>TitanRunNavisionResult</anonymous-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <java-xml-type-mapping> <java-type>org.tempuri.titanwebservices.titanservice.TitanRunNavisionResponse</java-type> <anonymous-type-qname xmlns:typeNS='http://tempuri.org/TitanWebServices/TitanService'>typeNS:>TitanRunNavisionResponse</anonymous-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>titanRunNavisionResult</java-variable-name> <xml-element-name>TitanRunNavisionResult</xml-element-name> </variable-mapping> </java-xml-type-mapping> <service-interface-mapping> <service-interface>org.tempuri.titanwebservices.titanservice.TitanService</service-interface> <wsdl-service-name xmlns:serviceNS='http://tempuri.org/TitanWebServices/TitanService'>serviceNS:TitanService</wsdl-service-name> <port-mapping> <port-name>TitanServiceSoap</port-name> <java-port-name>TitanServiceSoap</java-port-name> </port-mapping> <port-mapping> <port-name>TitanServiceSoap12</port-name> <java-port-name>TitanServiceSoap12</java-port-name> </port-mapping> </service-interface-mapping> <service-endpoint-interface-mapping> <service-endpoint-interface>org.tempuri.titanwebservices.titanservice.TitanServiceSoap</service-endpoint-interface> <wsdl-port-type xmlns:portTypeNS='http://tempuri.org/TitanWebServices/TitanService'>portTypeNS:TitanServiceSoap</wsdl-port-type> <wsdl-binding xmlns:bindingNS='http://tempuri.org/TitanWebServices/TitanService'>bindingNS:TitanServiceSoap</wsdl-binding> <service-endpoint-method-mapping> <java-method-name>titanRunNavision</java-method-name> <wsdl-operation>TitanRunNavision</wsdl-operation> <method-param-parts-mapping> <param-position>0</param-position> <param-type>org.tempuri.titanwebservices.titanservice.TitanRunNavision</param-type> <wsdl-message-mapping> <wsdl-message xmlns:wsdlMsgNS='http://tempuri.org/TitanWebServices/TitanService'>wsdlMsgNS:TitanRunNavisionSoapIn</wsdl-message> <wsdl-message-part-name>parameters</wsdl-message-part-name> <parameter-mode>INOUT</parameter-mode> </wsdl-message-mapping> </method-param-parts-mapping> <wsdl-return-value-mapping> <method-return-value>org.tempuri.titanwebservices.titanservice.TitanRunNavisionResponse</method-return-value> <wsdl-message xmlns:wsdlMsgNS='http://tempuri.org/TitanWebServices/TitanService'>wsdlMsgNS:TitanRunNavisionSoapOut</wsdl-message> <wsdl-message-part-name>parameters</wsdl-message-part-name> </wsdl-return-value-mapping> </service-endpoint-method-mapping> </service-endpoint-interface-mapping> <service-endpoint-interface-mapping> <service-endpoint-interface>org.tempuri.titanwebservices.titanservice.TitanServiceSoap</service-endpoint-interface> <wsdl-port-type xmlns:portTypeNS='http://tempuri.org/TitanWebServices/TitanService'>portTypeNS:TitanServiceSoap</wsdl-port-type> <wsdl-binding xmlns:bindingNS='http://tempuri.org/TitanWebServices/TitanService'>bindingNS:TitanServiceSoap12</wsdl-binding> <service-endpoint-method-mapping> <java-method-name>titanRunNavision</java-method-name> <wsdl-operation>TitanRunNavision</wsdl-operation> <method-param-parts-mapping> <param-position>0</param-position> <param-type>org.tempuri.titanwebservices.titanservice.TitanRunNavision</param-type> <wsdl-message-mapping> <wsdl-message xmlns:wsdlMsgNS='http://tempuri.org/TitanWebServices/TitanService'>wsdlMsgNS:TitanRunNavisionSoapIn</wsdl-message> <wsdl-message-part-name>parameters</wsdl-message-part-name> <parameter-mode>INOUT</parameter-mode> </wsdl-message-mapping> </method-param-parts-mapping> <wsdl-return-value-mapping> <method-return-value>org.tempuri.titanwebservices.titanservice.TitanRunNavisionResponse</method-return-value> <wsdl-message xmlns:wsdlMsgNS='http://tempuri.org/TitanWebServices/TitanService'>wsdlMsgNS:TitanRunNavisionSoapOut</wsdl-message> <wsdl-message-part-name>parameters</wsdl-message-part-name> </wsdl-return-value-mapping> </service-endpoint-method-mapping> </service-endpoint-interface-mapping> </java-wsdl-mapping>