1

私の ejb 3 クラスとリモート インターフェイスは次のとおりです。

package com.myeclipse.ejb3;

import java.io.Serializable;

public interface IMyBean extends Serializable 
{
  public void doSomething();
}

リモートインターフェース:

package com.myeclipse.ejb3;

import javax.ejb.Remote;

@Remote
public interface MyBeanRemote extends IMyBean {

}

ステートレス EJB:

package com.myeclipse.ejb3;

import javax.ejb.Stateless;

@Stateless(mappedName="ejb/MyBean")
public class MyBean implements MyBeanRemote 
{
public void doSomething()
{
    System.out.println("Hello world");
}
}

プロジェクトは weblogic で jar ファイルとして正常にデプロイされます。ejb を呼び出すスタンドアロン クライアントを開発しました。しかし、これは失敗しています。親切に助けてください。jndi に接続するためのすべての weblogic サーバー ライブラリと、コンパイル用のリモート ビジネス インターフェイスを含めました。

クライアントコード:

package Ejb3_Client;

import java.util.Properties;

import javax.naming.InitialContext;
import javax.naming.NamingException;

public class MyBeanClient {

/**
 * @param args
 */
public static void main(String[] args) 
{
    // TODO Auto-generated method stub
    try { 

         Properties p = new Properties();

         p.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
         p.put("java.naming.provider.url", "t3://172.21.123.70:8001");

         InitialContext ctx = new InitialContext(p);         

        MyBeanRemote bean = (MyBeanRemote) ctx.lookup("ejb/MyBean#com.myeclipse.ejb3.MyBeanRemote"); 
        System.out.println("bean instance "+ bean); 
        bean.doSomething(); 
         System.out.println("bean worked");

    } catch (NamingException e) { 
        e.printStackTrace(); 
    } 


}

}

しかし、私はこの例外を受けています:

javax.naming.CommunicationException [ルート例外は java.rmi.UnmarshalException: クラス java.lang.Object の非整列化に失敗しました。ネストされた例外は次のとおりです。 439) weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:395) で weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380) で javax.naming.InitialContext.lookup(InitialContext.java:392) で) at Ejb3_Client.MyBeanClient.main(MyBeanClient.java:33) 原因: java.rmi.UnmarshalException: クラス java.lang.Object の非整列化に失敗しました。ネストされた例外: java.lang.ClassNotFoundException: com.myeclipse.ejb3.

私はたくさん検索しましたが、なぜリモートインターフェイスを非整列化できないのかという問題を見つけました。

4

1 に答える 1