dcsimg
Server.BadTargetObjectURI
1 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Sherine_Khoury
Posted On:   Monday, April 22, 2002 02:32 AM

Hi I'm trying a simple helloworld service using soap2.2,tomcat4.0.3 on windows xp. I installed soap using the installation guide at http://mywebpages.comcast.net/scottnichol/apachesoap/install.html. All tests went fine (testit outputed correctly..) Now here is the code I'm using: HelloServer.java ---------------- package hello; public class HelloServer { public String sayHelloTo(String name) { System.out.println("sayHelloTo(String name)"); return "Hello "+ name +", How are you doing?"; } } Client.java ---------   More>>

Hi
I'm trying a simple helloworld service using soap2.2,tomcat4.0.3 on windows xp.
I installed soap using the installation guide at
http://mywebpages.comcast.net/scottnichol/apachesoap/install.html.

All tests went fine (testit outputed correctly..)

Now here is the code I'm using:

HelloServer.java

----------------

package hello;

public class HelloServer

{

public String sayHelloTo(String name)

{

System.out.println("sayHelloTo(String name)");

return "Hello "+ name +", How are you doing?";

}

}



Client.java

------------

package samples.hello;



import java.net.URL;

import java.util.Vector;

import org.apache.soap.SOAPException;

import org.apache.soap.Constants;

import org.apache.soap.Fault;

import org.apache.soap.rpc.Call;

import org.apache.soap.rpc.Response;

import org.apache.soap.rpc.Parameter;



public class Client

{

public static void main(String args[]) throws Exception

{

if(args.length==0)

{

System.err.println("usage: java hello.Client [SOAP-router-URL]");

System.exit(1);

}

try

{

URL url=null;

String name=null;

if(args.length==2)

{

url=new URL(args[0]);

name=args[1];

}

else

{

url=new URL("http://localhost:8080/soap/servlet/rpcrouter");

name=args[0];

}



Call call=new Call();

call.setTargetObjectURI("urn:Hello");

call.setMethodName("sayHelloTo");

call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

Vector params=new Vector();

params.addElement(new Parameter("name",String.class,name,null));

call.setParams(params);



Response resp=null;

try

{

resp=call.invoke(url,"");

}

catch(SOAPException e)

{

System.err.println("Caught SOAPException ("+e.getFaultCode()+"):

"+e.getMessage());

System.exit(-1);

}



if(!resp.generatedFault())

{

Parameter ret=resp.getReturnValue();

Object value=ret.getValue();

System.out.println(value);

}

else

{

Fault fault=resp.getFault();

System.err.println("Generated fault");

System.out.println("Fault Code= "+fault.getFaultCode());

System.out.println("Fault String= "+fault.getFaultString());

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

}



DeploymentDescriptor.xml

-----------------------



id="urn:Hello">











Problem

-------

The deployment went correctly and urn:Hello appears among the deployed services. I updated my CLASSPATH variable to include both xerces and soap jar files and the path to the package where the java files described above
are.

I'm still getting the fault:



Unable to resolve the following target object hello.HelloServer





What is wrong??



PS: I have included the following code in the server.xml file of the jakarta-tomcat/conf directory


Where the directory in docBase contains the full path to the hello package.


Thanks for your help

   <<Less

Re: Server.BadTargetObjectURI

Posted By:   Tarak_Reddy  
Posted On:   Monday, April 22, 2002 01:29 PM

The HelloServer class seems to be in the package "hello"

package hello;
public class HelloServer
{
...
}

while the deployment descriptor is using samples.hello.HelloServer as the class.
About | Sitemap | Contact