2012-01-25 1 views
4

EJB beanをデプロイしたときに非常に不思議なエラーが発生しましたweblogic 10.3.5 server。'org.omg.CORBA.MARSHAL:vmcid:0x0マイナーコード:0完了:おそらく'という意味ですか?

エラーは次のとおりです。

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 

EJBバインディングがのwlclient.jar を使用して作成されます。

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手段を見つけることができませんこれが何を意味するのかエラーはないので、サーバー側で要求が完了します。

答えて

6

エラーのクイック検索をlinkにします。推奨の1つはwlclient.jarではなくweblogic.jarを使用しないことです。リンクからの引用、

は、クライアント側でのweblogic.jarを使用してみてください。あるいはのWebLogic

の一部として提供さjarBuilderユーティリティ を使用して「にwlfullclient.jar」を作成するためのより良い オプションがあります

WebLogicのt3プロトコルを使用しているときに、オブジェクトのマーシャリングに問題があるようです。 thisリンクもご覧ください。

+1

wfullclient.jarをビルドするための指示があるリンクが動作していません... weblogic.jarを入手するには?私はいくつかのファイルをserver/libに指定していますが、wlclientの代わりに使用することはできません。多くのクラスはEjbExceptionなどのように欠けているからです。 –

+0

ここに別の[link](http://wls4mscratch.wordpress。 wlfullclientを作成する方法を説明しているcom/2010/06/19/steps-to-build-a-wlfullclient-jar-in-wls-10-0-x-and-wls-10-3-x /瓶** –

3

クライアント側で試すことができるもう一つのことは、wlthint3client.jarを使用することです。 WebLogic 10.3.5(wlserver_10.3.5 \ server \ libにあります)に付属しています。 wlclient.jarよりも大きいが、wlfullclient.jarよりはるかに小さい。これを使用する場合の警告:Swingクライアントがiiopからt3に切り替わると、smclientclasses.jarをWebstartバンドルに含める必要があります。そうしないと、エラーが発生します。クライアントがSwingを使用していない場合は、問題ありません。

関連する問題