以下は、Entity Beanを呼び出すクライアントアプリケーションの記述例です。
  SampleClient.java
    package sample;
    import javax.ejb.* ;
    import java.rmi.*;
    public class SampleClient
    {
      public static void main(String args[]){
        EmployeeHome   home = null;
        EmployeeRemote remote = null;
        // lookupの処理を行います
        try{
          // InitialContext獲得
          // デフォルトコンストラクタ指定で獲得する(注1)
          javax.naming.Context ic = new javax.naming.InitialContext();
          // lookup           (1)
          java.lang.Object Obj = (java.lang.Object)ic.lookup("Employee");
          /* Enterprise Beanオブジェクトのlookup処理を行います */
          // homeのnarrow()   (2)
          home = (EmployeeHome)javax.rmi.PortableRemoteObject.narrow( Obj, EmployeeHome.class);
        }catch (Exception e){
          System.err.println("lookup Failed");
          e.printStackTrace();
          System.exit(1);
        }
        // findByPrimaryKeyの呼出し
        try{
          String ID = "100" ;
          EmployeePrimaryKey pk = new EmployeePrimaryKey(ID);
          remote = home.findByPrimaryKey(pk);
        }catch (FinderException e){
          System.err.println("FinderException Catched");
          e.printStackTrace();
          System.exit(1);
        }catch (RemoteException e){
          System.err.println("RemoteException Catched");
          e.printStackTrace();
          System.exit(1);
        }
        // invoke business method
        try{
          System.out.println(remote.getID());
          System.out.println(remote.getNAME());
          System.out.println(remote.getDEPT());
          System.out.println(remote.getAGE());
        }catch (RemoteException e){
          System.err.println("RemoteException Catched");
          e.printStackTrace();
          System.exit(1);
        }catch (Exception e){
          System.err.println("create Failed");
          e.printStackTrace();
          System.exit(1);
        }
      }
    }注意
EJBクライアントを使用してクライアントアプリケーションを起動する際に、以下の環境プロパティを指定し起動してください。J2EEアプリケーションクライアントと、サーブレット/JSPが提供する各機能を使用する場合には、“JNDIサービスプロバイダの環境設定”を参照してください。
| -Djava.naming.factory.initial=com.fujitsu.interstage.ejb.jndi.FJCNCtxFactoryForClient | 
例)
| java -Djava.naming.factory.initial | 
LocalHomeインタフェースを経由した場合
記述例はHomeインタフェースの例ですが、LocalHomeインタフェースを経由してSession Beanにアクセスする場合には、記述例の(1)と(2)の処理が異なります。
以下のようにlookupで取得したオブジェクトを直接キャストして、narrowメソッドを実行する必要はありません。
  Context initialContext = new InitialContext();
  AccountHome accountHome =
     (AccountHome)initialContext.lookup("java:comp/env/ejb/accounts");