William Brogden wrote:

> I strongly suggest you put Catalog in a package. Tomcat gets confused
> when a servlet tries to use a class not in a package.



ok, I put my Catalog-class in a package called samples.catalogs.

Now my Catalog.class is available in:

    C:\SOAP-2_2\samples\catalogs\Catalog.class

and my classpath looks as follows:

    CLASSPATH=C:\Programme\Xerces-1_3_0\Xerces.jar;
                             C:\jdk1.3.1\lib\mail.jar;
                             C:\jdk1.3.1\lib\activation.jar;
                             C:\jdk1.3.1\lib\bsf.jar;
                             C:\jdk1.3.1\lib\js.jar;
                             C:\Programme\Soap-2_2\lib\soap.jar;
                             C:\Programme\Soap-2_2\;.

I invoke from Cat001 only "getElement(Integer Index)" and actually that must
return a String.
Earlier, instead of a String I got only the message "Unable to resolve target
object: Catalog", but since I put
my Catalog.class into a package I can observe the following via TCPTunnelGUI:

<SOAP-ENV:Body>

<SOAP-ENV:Fault>
  <faultcode>SOAP-ENV:Server.BadTargetObjectURI</faultcode>
  <faultstring>Unable to resolve target object:
samples.catalogs.Catalog</faultstring>
  <faultactor>/soap/servlet/rpcrouter</faultactor>
<detail>
<stackTrace> java.lang.IllegalAccessException: samples.catalogs.Catalog
 at java.lang.Class.newInstance0(Native Method)
 at java.lang.Class.newInstance(Class.java:237)
 at
org.apache.soap.server.http.ServerHTTPUtils.getTargetObject(ServerHTTPUtils.java:279)

 at org.apache.soap.providers.RPCJavaProvider.locate(RPCJavaProvider.java:117)
 at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:285)

 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
 at org.apache.tomcat.core.Handler.service(Handler.java:287)
 at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)

 at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
 at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)

 at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
 at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
 at java.lang.Thread.run(Thread.java:484)
</stackTrace>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>


I attached my two updated sample Java classes and Deploymentdescriptor to the
mail.
I think, they are correct. Aren't they?

Uemit Yaman
[EMAIL PROTECTED]


samples.zip

Reply via email to