2017-03-09 7 views
0

私は単純なエンタープライズアプリケーションをテストしていますが、リモートメソッドを呼び出すと次のエラーが発生します。org.omg.CORBA.MARSHAL:警告:00810057:クラスをロードできませんでした

タイプ例外レポート

messageInternalサーバーエラー

DESCRIPTIONTHEサーバは、この要求を満たすから それを防ぐ内部エラーが発生しました。

例外

org.apache.jasper.JasperExceptionが:にjavax.ejb.EJBException: java.rmi.MarshalException:CORBA MARSHAL 1330446393たぶん。ネストされた 例外はある:org.omg.CORBA.MARSHAL:WARNING:00810057:できませんでした 負荷クラスentitydata.Customerのvmcid:OMGマイナーコード:57完了: たぶん

根本原因

のjavax。 ejb.EJBException:java.rmi.MarshalException:CORBA MARSHAL 1330446393多分;ネストされた例外はある:org.omg.CORBA.MARSHAL: WARNING:00810057:クラスentitydata.Customerをロードできませんでしたがvmcid: OMGマイナーコード:57が完成:たぶん

根本原因

するjava.rmiを.MarshalException:CORBA MARSHAL 1330446393多分;ネストされた 例外はある:org.omg.CORBA.MARSHAL:WARNING:00810057:ない 負荷クラスentitydata.Customerはvmcidでした:OMGマイナーコード:完成57: たぶん

根本原因

組織を。 omg.CORBA.MARSHAL:WARNING:00810057:ロードできませんでしたクラス entitydata.Customerはvmcid:OMGマイナーコード:57完了:たぶん

SessionBeanの

public Object SearchData(Integer id) { 
     Customer cust = em.find(Customer.class, id); 
     return cust; 
    } 

私は私のWARプロジェクトにEJBとremoteLibraryプロジェクトを追加した

Object o = ic.lookup(CustomerSessionBeansRemote.class.getName()); 
CustomerSessionBeansRemote custSession = (CustomerSessionBeansRemote) o; 
Customer customer = (Customer)custSession.SearchData(1); 
if(customer!=null){ 
    out.print(customer.getName()); 
} 

JSP

@Remote 
public interface CustomerSessionBeansRemote { 

    Object SearchData(Integer id); 

} 

RemoteLibrary、そう、私のCustomerクラスに私のJSPのHASAアクセス。

任意のヘルプは、appriciatedされます。ありがとう。

答えて

0

"CORBA.MARSHAL"は、ローカルプログラムとリモートプログラムで使用するIDLが同一でないか、リモートメソッドがIDLで定義されていない例外を送出していることを意味します。

これは、両側で互換性のあるORBを使用しており、両側の設定が互換性があることを前提としています。

+0

ローカルとリモートの両方が、同じ「オブジェクト」を返すように設定されています。 –

+0

@Developer "Customer"はSearchData()から "Object"として返されます。次に、 "Customer"としてcustSession.SearchData(1)をキャストします。特にIDLでは、どこにでも "Customer"オブジェクトを使用する必要があります。たとえば、次のようになります。 'public Customer SearchData(整数ID){return em.find(Customer.class、id); } ' あなたが世話する必要があるもう一つのものは例外です。 SearchData()が例外をスローできる場合、その例外をIDLにリストする必要があります。例外がリストされずにスローされた場合は、再度MARSHALLを取得します。 – BJovke

関連する問題