【问题标题】:What does 'org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe' mean?'org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe' 是什么意思?
【发布时间】:2012-02-18 15:37:43
【问题描述】:

我在调用部署在 weblogic 10.3.5 服务器上的 EJB bean 时遇到非常神秘的错误。

错误是:

javax.ejb.EJBException: CORBA MARSHAL 0 Maybe; nested exception is: 
    org.omg.CORBA.MARSHAL:   vmcid: 0x0  minor code: 0 completed: Maybe; nested exception is: org.omg.CORBA.MARSHAL:   vmcid: 0x0  minor code: 0 completed: Maybe
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:121)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:103)
    at $Proxy0.getOrder(Unknown Source)
    at test.EjbTest.main(EjbTest.java:37)
Caused by: org.omg.CORBA.MARSHAL:   vmcid: 0x0  minor code: 0 completed: Maybe
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:897)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:99)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
    at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
    at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
    at service._OrderSession_fb3odc_OrderSessionRIntf_Stub.getOrder(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
    ... 2 more

使用 wlclient.jar 创建 ejb 绑定:

public static <T> T getRemoteEJB(String jndi, Class<T> clazz){
    try {
        Properties props = new Properties();
        props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
        props.put(Context.PROVIDER_URL, "t3://localhost:7001");

        InitialContext ctx = new InitialContext(props);

        T ejb = (T) ctx.lookup(jndi);
        PortableRemoteObject.narrow(ejb, clazz);
        return ejb;

    } catch (Exception e) {
        logger.error("Unable to lookup object of class {} through jndi name {}", clazz, jndi);
    }
    return null;
}

我找不到这个神秘的vmcid: 0x0 minor code: 0 completed: Maybe 是什么意思,所以请至少知道这是什么意思。请求在服务器端完成,因为那里没有错误。

【问题讨论】:

    标签: java ejb weblogic weblogic-10.x


    【解决方案1】:

    快速搜索指向此link 的错误。建议之一是不要使用wlclient.jar,而是使用weblogic.jar。引用链接,

    请尝试在客户端使用 weblogic.jar 或者甚至有更好的 使用 jarBuilder 实用程序创建“wlfullclient.jar”的选项 作为 WebLogic 的一部分提供

    问题似乎出在使用 WebLogic 的 t3 协议时对对象的编组。请同时查看this 链接。

    【讨论】:

    • 与构建 wfullclient.jar 指令的链接不起作用...从哪里获得 weblogic.jar?我在 server/lib 中找到了一些名为该文件的文件,但我不能使用它来代替 wlclient,因为缺少许多类,例如 EjbException ....
    • 这里是另一个link,它描述了如何创建 wlfullclient.jar
    【解决方案2】:

    您可以在客户端尝试的另一件事是使用 wlthint3client.jar。它带有 WebLogic 10.3.5(在 wlserver_10.3.5\server\lib 中)。它比 wlclient.jar 大,但比 wlfullclient.jar 小得多。如果你使用这个,一个警告:如果 Swing 客户端从 iiop 切换到 t3,他们将需要在他们的 webstart 包中包含 smclientclasses.jar,否则他们会得到错误。如果客户端没有使用 Swing,那么这应该不是问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-02
      • 2012-09-15
      • 1970-01-01
      • 2022-12-14
      • 2015-03-20
      • 2020-01-07
      相关资源
      最近更新 更多