Okay, I guess I didn't figure it out. The problem seems to be with setting the JVM parameters for the orb. There are several system properties that you need to set when you invoke the JVM, for example:
-ms64M
-Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=com.inprise.vbroker.orb.ORBSingleton
-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl
-Djavax.rmi.CORBA.StubClass=com.inprise.vbroker.rmi.CORBA.StubImpl
-Djavax.rmi.CORBA.UtilClass=com.inprise.vbroker.rmi.CORBA.UtilImpl
-Dvbroker.orb.gcTimeout=60
-Dvbroker.agent.port=14011
-DORBagentAddr=127.0.0.1
I set these in the Eclipse Tomcat plugin. When I put these parameters on the JVM command line for the test client it seems to work, but that shouldn't be necessary. I can't have my external clients need to have to pass CORBA initialization information to run their clients.
Here is some of the exception stack trace:
--> Creating the ORB.
--> Initializing the session.
org.omg.CORBA.MARSHAL: Could not locate class for repository Id [RMI:java.lang.String:0000000000000000] minor code: 0 completed: No
at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.readValue(ValueHandlerImpl.java:188)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.octets(CDRInputStream.java:1119)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_block(CDRInputStream.java:975)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_data(CDRInputStream.java:959)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.state(CDRInputStream.java:948)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value(CDRInputStream.java:883)
at com.inprise.vbroker.orb.CDRInputStream.readValueType(CDRInputStream.java:1347)
at com.inprise.vbroker.orb.CDRInputStream.read_value(CDRInputStream.java:1760)
at com.inprise.vbroker.orb.CDRInputStream.read_abstract_interface(CDRInputStream.java:1867)
at com.inprise.vbroker.rmi.CORBA.FieldReader.readObject(FieldReader.java:813)
at com.inprise.vbroker.rmi.CORBA.ObjectInputStream.readObjectOverride(ObjectInputStream.java:102)
at java.io.ObjectInputStream.readObject(Unknown Source)
at java.util.Hashtable.readObject(Unknown Source)
at java.lang.reflect.Method.invoke(Native Method)
at com.inprise.vbroker.rmi.CORBA.Java3FieldAccess.doReadObject(Java3FieldAccess.java:269)
at com.inprise.vbroker.rmi.CORBA.FieldReader.callReadObject(FieldReader.java:269)
at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.readThisValue(ValueHandlerImpl.java:262)
at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.octets(CDRInputStream.java:1119)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_block(CDRInputStream.java:975)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_data(CDRInputStream.java:959)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.state(CDRInputStream.java:948)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value(CDRInputStream.java:883)
at com.inprise.vbroker.orb.CDRInputStream.readValueType(CDRInputStream.java:1347)
at com.inprise.vbroker.orb.CDRInputStream.read_value(CDRInputStream.java:1766)
at com.bw.cuda.server.globalparms._GlobalParmsManagerStub.getGlobalParms(_GlobalParmsManagerStub.java:300)
at com.bw.webservice.cuda.CudaSession.initialize(Unknown Source)
at com.bw.webservice.cuda.CudaSession.<init>(Unknown Source)
at com.bw.webservice.cuda.CudaWebService.<init>(CudaWebService.java:25)
at com.bw.webservice.cuda.ws.CudaWebServiceSoapBindingImpl.<init>(CudaWebServiceSoapBindingImpl.java:7)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.makeNewServiceObject(JavaProvider.java:463)
at org.apache.axis.providers.java.JavaProvider.getNewServiceObject(JavaProvider.java:206)
at org.apache.axis.providers.java.JavaProvider.getServiceObject(JavaProvider.java:178)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:258)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(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.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Unknown Source)
org.omg.CORBA.MARSHAL: Error in invocation of readObject for class java.util.Hashtable on instance of java.util.Hashtable[Reason:org.omg.CORBA.MARSHAL: Error unmarshaling value [Could not locate class for repository Id [RMI:java.lang.String:0000000000000000]] minor code: 0 completed: No] minor code: 0 completed: No
at com.inprise.vbroker.rmi.CORBA.Java3FieldAccess.doReadObject(Java3FieldAccess.java:271)
at com.inprise.vbroker.rmi.CORBA.FieldReader.callReadObject(FieldReader.java:269)
at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.readThisValue(ValueHandlerImpl.java:262)
at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.octets(CDRInputStream.java:1119)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_block(CDRInputStream.java:975)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_data(CDRInputStream.java:959)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.state(CDRInputStream.java:948)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value(CDRInputStream.java:883)
at com.inprise.vbroker.orb.CDRInputStream.readValueType(CDRInputStream.java:1347)
at com.inprise.vbroker.orb.CDRInputStream.read_value(CDRInputStream.java:1766)
at com.bw.cuda.server.globalparms._GlobalParmsManagerStub.getGlobalParms(_GlobalParmsManagerStub.java:300)
at com.bw.webservice.cuda.CudaSession.initialize(Unknown Source)
at com.bw.webservice.cuda.CudaSession.<init>(Unknown Source)
at com.bw.webservice.cuda.CudaWebService.<init>(CudaWebService.java:25)
at com.bw.webservice.cuda.ws.CudaWebServiceSoapBindingImpl.<init>(CudaWebServiceSoapBindingImpl.java:7)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.makeNewServiceObject(JavaProvider.java:463)
at org.apache.axis.providers.java.JavaProvider.getNewServiceObject(JavaProvider.java:206)
at org.apache.axis.providers.java.JavaProvider.getServiceObject(JavaProvider.java:178)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:258)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(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.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Unknown Source)
--> An error was encountered while initializing the session: (Error unmarshaling value [Error in invocation of readObject for class java.util.Hashtable on instance of java.util.Hashtable[Reason:org.omg.CORBA.MARSHAL: Error unmarshaling value [Could not locate class for repository Id [RMI:java.lang.String:0000000000000000]] minor code: 0 completed: No]]).
org.omg.CORBA.MARSHAL: Error unmarshaling value [Error in invocation of readObject for class java.util.Hashtable on instance of java.util.Hashtable[Reason:org.omg.CORBA.MARSHAL: Error unmarshaling value [Could not locate class for repository Id [RMI:java.lang.String:0000000000000000]] minor code: 0 completed: No]] minor code: 0 completed: No
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.octets(CDRInputStream.java:1152)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_block(CDRInputStream.java:975)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value_data(CDRInputStream.java:959)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.state(CDRInputStream.java:948)
at com.inprise.vbroker.orb.CDRInputStream$ValueTypeReader.value(CDRInputStream.java:883)
at com.inprise.vbroker.orb.CDRInputStream.readValueType(CDRInputStream.java:1347)
at com.inprise.vbroker.orb.CDRInputStream.read_value(CDRInputStream.java:1766)
at com.bw.cuda.server.globalparms._GlobalParmsManagerStub.getGlobalParms(_GlobalParmsManagerStub.java:300)
at com.bw.webservice.cuda.CudaSession.initialize(Unknown Source)
at com.bw.webservice.cuda.CudaSession.<init>(Unknown Source)
at com.bw.webservice.cuda.CudaWebService.<init>(CudaWebService.java:25)
at com.bw.webservice.cuda.ws.CudaWebServiceSoapBindingImpl.<init>(CudaWebServiceSoapBindingImpl.java:7)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.makeNewServiceObject(JavaProvider.java:463)
at org.apache.axis.providers.java.JavaProvider.getNewServiceObject(JavaProvider.java:206)
at org.apache.axis.providers.java.JavaProvider.getServiceObject(JavaProvider.java:178)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:258)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(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.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Unknown Source)
-----Original Message-----
From: James Black [mailto:[EMAIL PROTECTED]]
Sent: Friday, November 15, 2002 8:47 AM
To: [EMAIL PROTECTED]
Subject: Re: Axis and CORBA
Barry Lulas wrote:
> I have an Axis web service that acts as a CORBA client. I can run the
> code that attaches to the ORB fine as a standalone application, but
> when I try to run it from the web service running under Axis I get
> numerous exceptions. Does anyone know of any limitation with either
> Axis or Tomcat itself in dealing with CORBA?
What exceptions are you getting?