I checked my .classpath file and it made reference to a
mywebservices_classes.jar.  I found that jar under the path you mentioned
WEB-INF\lib and inside that jar it did NOT contain the class(s) that have
the method I'm trying to execute....I guess I need to create a new jar?...I
have been modifying our webservice api and we're still in the a&d phase of
this project....so whenever I modify my "application" do I need to create a
new jar and deploy it?

thanks
Doug


                                                                                       
                                        
                      Scott Nichol                                                     
                                        
                      <snicholnews@scott       To:       [EMAIL PROTECTED]       
                                        
                      nichol.com>              cc:       (bcc: Doug 
Swanson/US-Corporate/3M/US)                                
                                               Subject:  Re: Unable to resolve target 
object...                                
                      06/13/2002 10:37                                                 
                                        
                      AM                                                               
                                        
                      Please respond to                                                
                                        
                      soap-dev                                                         
                                        
                                                                                       
                                        
                                                                                       
                                        



The fault code "Server.BadTargetObjectURI" may be a little misleading.  To
get
this error, the URI has already been matched to a URI you used to deploy a
service, i.e. the Apache SOAP server code has already located the
deployment
descriptor you specified in deployment.

My inclination is to believe the error means that Apache SOAP could not
load the
class implementing the service.  Do not assume that if the class is in some
classpath that it can be loaded, since the newer servlet specs are very
specific
about how the class loaders should be chained.  I recommend you put all
classes
implementing your services or used by your services into the directory for
the
Apache SOAP web app.  I don't know about your WebSphere environment, but on
my
Tomcat implementation, this means
j:\jakarta-tomcat-4.0.1\webapps\soap\WEB-INF\lib or
j:\jakarta-tomcat-4.0.1\webapps\soap\WEB-INF\classes.  Further, it may be
that
you must restart something (the web app or the whole server) to get the
classes
to load.

Scott Nichol

----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, June 13, 2002 10:57 AM
Subject: Unable to resolve target object...


> 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>
>
>
>
>
>






Reply via email to