我正在使用64位JDK 1.7.1在IBM WebSphere 8.5上运行Java EE项目。
当我从Swing客户端(JDK 1.8 Oracle 64位)执行对EJB的远程调用时,将引发以下异常。我试图在客户端(甚至与服务器JDK)中使用不同的JDK,结果始终是相同的:
2019-01-30 11:49:20 ERROR OpMyProject:261 - CORBA MARSHAL 0x4942f89a No; nested exception is:
org.omg.CORBA.MARSHAL:
>> SERVER (id=4ee74d90, host=myhost.local) TRACE START:
>> org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : initial and forwarded IOR inaccessible vmcid: IBM minor code: 89A completed: No
>> at com.ibm.rmi.iiop.IDRReader.read_value(IDRReader.java:2054)
>> at com.ibm.rmi.iiop.EncoderInputStream.read_value(EncoderInputStream.java:963)
>> at org.myproject.model.ejb._EJSRemote0SLMyProjectBean_e0f6ccfa_Tie.havePermission(_EJSRemote0SLMyProjectBean_e0f6ccfa_Tie.java:100)
>> at org.myproject.model.ejb._EJSRemote0SLMyProjectBean_e0f6ccfa_Tie._invoke(_EJSRemote0SLMyProjectBean_e0f6ccfa_Tie.java)
>> at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:628)
>> at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:510)
>> at com.ibm.rmi.iiop.ORB.process(ORB.java:607)
>> at com.ibm.CORBA.iiop.ORB.process(ORB.java:1583)
>> at com.ibm.rmi.iiop.Connection.doRequestWork(Connection.java:3166)
>> at com.ibm.rmi.iiop.Connection.doWork(Connection.java:3030)
>> at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:64)
>> at com.ibm.ws.giop.threadpool.WorkQueueElement.dispatch(WorkQueueElement.java:174)
>> at com.ibm.ws.giop.filter.GiopFilterChain.processMessage(GiopFilterChain.java:203)
>> at com.ibm.ws.giop.threadpool.PooledThread.handleRequest(PooledThread.java:81)
>> at com.ibm.ws.giop.threadpool.PooledThread.run(PooledThread.java:102)
>> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
>> SERVER (id=4ee74d90, host=myhost.local) TRACE END.
vmcid: IBM minor code: 89A completed: No
java.rmi.MarshalException: CORBA MARSHAL 0x4942f89a No; nested exception is:
org.omg.CORBA.MARSHAL:
>> SERVER (id=4ee74d90, host=myhost.local) TRACE START:
>> org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : initial and forwarded IOR inaccessible vmcid: IBM minor code: 89A completed: No
>> at com.ibm.rmi.iiop.IDRReader.read_value(IDRReader.java:2054)
>> at com.ibm.rmi.iiop.EncoderInputStream.read_value(EncoderInputStream.java:963)
>> at org.myproject.model.ejb._EJSRemote0SLMyProjectBean_e0f6ccfa_Tie.havePermission(_EJSRemote0SLMyProjectBean_e0f6ccfa_Tie.java:100)
>> at org.myproject.model.ejb._EJSRemote0SLMyProjectBean_e0f6ccfa_Tie._invoke(_EJSRemote0SLMyProjectBean_e0f6ccfa_Tie.java)
>> at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:628)
>> at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:510)
>> at com.ibm.rmi.iiop.ORB.process(ORB.java:607)
>> at com.ibm.CORBA.iiop.ORB.process(ORB.java:1583)
>> at com.ibm.rmi.iiop.Connection.doRequestWork(Connection.java:3166)
>> at com.ibm.rmi.iiop.Connection.doWork(Connection.java:3030)
>> at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:64)
>> at com.ibm.ws.giop.threadpool.WorkQueueElement.dispatch(WorkQueueElement.java:174)
>> at com.ibm.ws.giop.filter.GiopFilterChain.processMessage(GiopFilterChain.java:203)
>> at com.ibm.ws.giop.threadpool.PooledThread.handleRequest(PooledThread.java:81)
>> at com.ibm.ws.giop.threadpool.PooledThread.run(PooledThread.java:102)
>> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
>> SERVER (id=4ee74d90, host=myhost.local) TRACE END.
vmcid: IBM minor code: 89A completed: No
at com.ibm.CORBA.iiop.UtilDelegateImpl.mapSystemException(UtilDelegateImpl.java:284)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:78)
at org.myproject.model.ejb._MyProjectBeanRemote_Stub.havePermission(_MyProjectBeanRemote_Stub.java:1)
at org.myproject.op.OpMyProject.havePermission(OpMyProject.java:258)
at org.myproject.ui.FMyProject.init(FMyProject.java:137)
at org.myproject.ui.FMyProject.<init>(FMyProject.java:78)
at org.myproject.ui.MyProject.iniciaAplicacionVisual(MyProject.java:218)
at org.myproject.ui.MyProject.access$100(MyProject.java:31)
at org.myproject.ui.MyProject$1.loginSucceeded(MyProject.java:92)
at org.jdesktop.swingx.auth.LoginService.fireLoginSucceeded(LoginService.java:247)
at org.jdesktop.swingx.auth.LoginService$1$2.run(LoginService.java:153)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
有人要面对这个问题吗?
提前谢谢
答案 0 :(得分:2)
这些天,我遇到了类似的问题。看来这是防火墙的问题。由于ORB元回调失败,会发生许多CORBA.MARSHAL异常:
您可以使用参数来指示避免这种情况。
com.ibm.CORBA.enableClientCallbacks=true
希望对您有所帮助。