Using IBM Websphere 4.0 with Apache SOAP....Trying to make a soap call from
a java class and I'm getting this error...I'm a relative newbie with
websphere so any hints on where to look or some sort of "checklist" would
be greatly appreciated
Generated fault:
Fault Code = SOAP-ENV:Server.BadTargetObjectURI
Fault String = Unable to resolve target object:
com.mmm.mes.API.MesItemMasterApi
I assume that I don't have something setup correctly with regards to my
URI...the uri (and other stuff) that I'm sending in my call is as
follows...
String lsURI = new String(
"http://tempuri.org/com.mmm.mes.API.MesItemMasterApi");
call.setTargetObjectURI(lsURI);
call.setMethodName("getItemMaster");
//Set the encoding style
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
Vector params = new Vector();
//Add the parameter
params.addElement(new Parameter("sXML", String.class
,lsSendXML,Constants.NS_URI_SOAP_ENC));
call.setParams(params);
SOAPHTTPConnection httpconn = new SOAPHTTPConnection();
httpconn.setProxyPort(8080);
call.setSOAPTransport(httpconn);
// Invoke the call.
Response resp;
try
{
String lsAction = new String("");
resp = call.invoke(url,lsAction);
Here is the wsdl stuff...*Note I combined the -service and -binding wsdl
files since I have MS clients that may be using this...
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="MesItemMasterApiService"
targetNamespace=
"http://localhost:8080/MesAPIsWebServices/wsdl/MesItemMasterApi-service.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns=
"http://localhost:8080/MesAPIsWebServices/wsdl/MesItemMasterApi-service.wsdl"
xmlns:binding=
"http://www.mesitemmasterapi.com/definitions/MesItemMasterApiRemoteInterface"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<message name="getItemMasterRequest">
<part name="sXML" type="xsd:string"/>
</message>
<message name="getItemMasterResponse">
<part name="result" type="xsd:string"/>
</message>
<message name="getAllItemIDsRequest">
<part name="sXML" type="xsd:string"/>
</message>
<message name="getAllItemIDsResponse">
<part name="result" type="xsd:string"/>
</message>
<message name="updateItemMasterRequest">
<part name="sXML" type="xsd:string"/>
</message>
<message name="updateItemMasterResponse">
<part name="result" type="xsd:string"/>
</message>
<portType name="MesItemMasterApiJavaPortType">
<operation name="getItemMaster">
<input name="getItemMasterRequest" message="tns:getItemMasterRequest"
/>
<output name="getItemMasterResponse" message=
"tns:getItemMasterResponse"/>
</operation>
<operation name="getAllItemIDs">
<input name="getAllItemIDsRequest" message="tns:getAllItemIDsRequest"
/>
<output name="getAllItemIDsResponse" message=
"tns:getAllItemIDsResponse"/>
</operation>
<operation name="updateItemMaster">
<input name="updateItemMasterRequest" message=
"tns:updateItemMasterRequest"/>
<output name="updateItemMasterResponse" message=
"tns:updateItemMasterResponse"/>
</operation>
</portType>
<binding name="MesItemMasterApiBinding" type=
"tns:MesItemMasterApiJavaPortType">
<soap:binding style="rpc" transport=
"http://schemas.xmlsoap.org/soap/http"/>
<operation name="getItemMaster">
<soap:operation soapAction="" style="rpc"/>
<input name="getItemMasterRequest">
<soap:body use="encoded" encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" namespace=
"http://tempuri.org/com.mmm.mes.API.MesItemMasterApi"/>
</input>
<output name="getItemMasterResponse">
<soap:body use="encoded" encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" namespace=
"http://tempuri.org/com.mmm.mes.API.MesItemMasterApi"/>
</output>
</operation>
<operation name="getAllItemIDs">
<soap:operation soapAction="" style="rpc"/>
<input name="getAllItemIDsRequest">
<soap:body use="encoded" encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" namespace=
"http://tempuri.org/com.mmm.mes.API.MesItemMasterApi"/>
</input>
<output name="getAllItemIDsResponse">
<soap:body use="encoded" encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" namespace=
"http://tempuri.org/com.mmm.mes.API.MesItemMasterApi"/>
</output>
</operation>
<operation name="updateItemMaster">
<soap:operation soapAction="" style="rpc"/>
<input name="updateItemMasterRequest">
<soap:body use="encoded" encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" namespace=
"http://tempuri.org/com.mmm.mes.API.MesItemMasterApi"/>
</input>
<output name="updateItemMasterResponse">
<soap:body use="encoded" encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" namespace=
"http://tempuri.org/com.mmm.mes.API.MesItemMasterApi"/>
</output>
</operation>
</binding>
<service name="MesItemMasterApiService">
<port name="tns:MesItemMasterApiPort" binding=
"tns:MesItemMasterApiBinding">
<soap:address location=
"http://localhost:8080/MesAPIsWebServices/servlet/rpcrouter"/>
</port>
</service>
</definitions>