I've never tried this, but probably you either want to set
"java.rmi.server.codebase" in the CATALINA_OPTS, or make certain that your
stub-classes all live within WEB-INF/lib.

"Vishal Zinjuvadia" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Hi,
>
> I am trying to use a Tomcat webapp as a RMI client.
> For the test purposes, my RMI server
> resides on the same machine. When I use a Tomcat
> webapp as a client, I consistently get a
> ClassCastException, while if I use a plain java class
> for the client, it works flawlessly.
>
> Following is my client code used in the servlet and
> the plain java class.
>
> System.setProperty("java.rmi.server.codebase",
> "file:/path/to/stubfile/");
> try {
>    //(line: 141)
>    TestInterface testIf =
> (TestInterface)Naming.lookup("//localhost/Test");
>    result = testIf.testMethod();
> } catch (Exception e) {
>    servlet.log(e.getMessage());
>    e.printStackTrace();
> }
>
> I am using:
> JDK-1.4
> tomcat-4.1.12
>
> From the stack it looks like the stub file is located,
> but it cannot relate it with the interface file. It
> looks like the interface file and the stub files are
> loaded with different class loaders and cannot be
> associated.
>
> java.lang.ClassCastException: Test_Stub
> at
> com.vishal.eg.TestAction.perform(TestAction.java:141)
> at
>
org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.ja
va:1786)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
> at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
> at
>
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilter
Chain.java:98)
> at
>
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain
.java:176)
> at java.security.AccessController.doPrivileged(Native
> Method)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:172)
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
> at
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
> at
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:380)
> at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:533)
> at java.lang.Thread.run(Thread.java:536)
>
> Thanks in advance,
> Vishal
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com





--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to