CORBA.MARSHAL: невозможно прочитать значение из нижележащего моста: начальный и перенаправленный IOR недоступный vmcid - PullRequest
0 голосов
/ 30 января 2019

Я выполняю свой проект Java EE в IBM WebSphere 8.5 с использованием 64-битного JDK 1.7.1.

Когда я выполняю удаленный вызов EJB из моего клиента Swing (64-битный Oracle JDK 1.8),следующее исключение выбрасывается.Я пытался использовать разные 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)

Кто-нибудь сталкивался с этой проблемой?

СпасибоВы заранее

1 Ответ

0 голосов
/ 30 января 2019

Я столкнулся с подобной проблемой в эти дни.Похоже, это проблема с брандмауэром.Многие исключения CORBA.MARSHAL возникают из-за сбоя мета-обратного вызова ORB:

  • Обратный вызов - это отдельный запрос, отправляемый (обычно) с сервера обратно клиенту, который должен быть выполнен до того, как исходный входящий запрос может быть обработан.обработано).
  • При внимательном рассмотрении стека выше мы видим попытку обратного вызова метаданных ORB (вероятно, от сервера обратно к клиенту):

Вы можете использовать параметр, чтобы указатьизбегайте этой ситуации.

com.ibm.CORBA.enableClientCallbacks=true

Источник: Ответы разработчиков IBM

Надеюсь, это может вам помочь.

...