30 JEJBトランスポートの使用

この章では、JEJBトランスポートの概要と、Service Busでトランスポートを使用してPlain Old Java Object (POJO)を処理する方法について説明します。

この章の内容は次のとおりです。

30.1 JEJBトランスポートの概要

JEJBトランスポートを使用すると、Service Busを介してPlain Old Java Object (POJO)を渡すことができます。

たとえば、EJBを使用してリモートEJB操作または非EJBサービスを呼び出すことができます。または、非EJBリクエストでEJB操作を呼び出すことができます。詳しい使用例を「使用例」で説明します。

J2EEクライアントに対して、JEJBプロキシ・サービスはステートレス・セッションBeanのように見えます。JEJBプロキシ・サービスは、メソッド引数を受け取ると、そのXML表現をパイプラインの$body変数に渡します。POJO引数は、パイプライン内のオブジェクト・リポジトリに格納された実際のPOJOの場所を含む、XMLフラグメントとして表されます。XML引数は、値または参照(オブジェクト・リポジトリに格納される実際のオブジェクトを参照する)として渡すことができます。プリミティブ型は常に値として渡されます。

パイプライン内のPOJOの詳細は、「body変数内のJavaコンテンツ」および「JavaコールアウトおよびPOJOの使用方法」を参照してください。

JEJBトランスポートは常に非同期であり、メッセージング・パターンはリクエスト/レスポンスです。デプロイメントに際して、Service BusはJEJBプロキシ・サービスをエンタープライズ・アーカイブ(EAR)として自動的にパッケージ化します。

30.1.1 JEJBトランスポートとEJBトランスポートの相違点

EJBトランスポート(ビジネス・サービスのみに対応)は、Java Web Services (JWS)フレームワークを介してリモートEJBをよびだします。JEJBトランスポート(リモートEJBや外部サービスをPOJOを使用して呼び出すことができる)は、RMIシリアライゼーション/デシリアライゼーション・サイクルを使用して、Service Busを介してターゲットEJBメソッドにPOJOを直接渡します。EJBトランスポートには「トランザクションをサポートする」フラグがありますが、すべてのプロキシ・サービスでトランザクションのサポートが提供されるため、JEJBビジネス・サービスではトランザクション・オプションが必要ありません。

30.1.2 JEJBトランスポートによるWSDLの生成

プロキシ・サービスとビジネス・サービスのために、JEJBトランスポートは、パイプラインに渡すメッセージを記述するためだけに使用されるリテラル・エンコーディングのドキュメント形式WSDLファイルを生成します。このWSDL形式を使用すると、Service BusのWSDL機能(操作ごとのモニターなど)を利用できます。表30-1で説明するように、「値でXMLBeansを渡す」オプションを使用してPOJO引数をメッセージにインライン指定すると、WSDLファイルに定義されるメッセージ構造は、実行時の実際のパイプライン・メッセージと異なる可能性があります。

XMLBeansパラメータ・タイプに対するパイプライン・メッセージ・フォーマットの動作は次のとおりです。

プロキシ・サービス

  • リクエスト・パラメータ: 「値でXMLBeansを渡す」がtrueの場合、パイプライン・メッセージのリクエスト・パラメータはインラインXMLオブジェクトを参照します。これ以外の場合は、java-content refを参照します。

  • レスポンス・パラメータ: レスポンスはビジネス・サービスのいずれかの形式に基づくため、レスポンスはインラインXMLオブジェクトまたはjava-content refを参照します。

ビジネス・サービス

  • レスポンス・パラメータ: 「値でXMLBeansを渡す」がtrueの場合、パイプライン・メッセージの戻りパラメータはインラインXMLオブジェクトを参照します。そうでない場合は、java-content refを参照します。

  • リクエスト・パラメータ: リクエストはプロキシ・サービスのいずれかの形式に基づくため、パイプライン・メッセージのリクエスト・メソッド・パラメータは、インラインXMLオブジェクトまたはjava-content ref,を参照できます。

30.1.3 JEJBトランスポートのエラー処理

ここでは、JEJBトランスポートがどのようにエラーを処理するかを説明します。

30.1.3.1 レスポンスでの例外の伝播

JEJBトランスポートは、リクエスト例外をオブジェクト・リポジトリに格納し、$fault変数を介してJEJBプロキシ・サービスに伝播します。$fault変数には、<java-exception> <java-content ref="jcid"/> </java-exception>要素(jcidはオブジェクト・リポジトリに格納されている例外インスタンスへの参照)内の例外インスタンスの場所が含まれます。

JEJBプロキシ・サービスでユーザー例外をクライアントに伝播するには、レスポンスが次のいずれかの形式であることが必要です。jcidは常に、オブジェクト・リポジトリ内のエラーへの参照です。

  • env:Envelope/env:Fault/detail/mc:java-exception

    <detail>
        <mc:java-exception>
            <mc:java-content ref="jcid"/>
        </mc:java-exception>
        ...
    </detail>
    
  • env:Envelope/env:Fault/detail/mc:fault/mc:java-exception

    <detail>
        <mc:fault xmlns:mc="http://www.bea.com/wli/sb/context">
            <mc:java-exception>
                <mc:java-content ref="jcid"/>
            </mc:java-exception>
            ...
        </mc:fault>
    </detail>
    
  • env:Envelope/ env:Fault/detail/mc:fault/mc:details/con1:ReceivedFaultDetail/con1:detail/mc:java-exception

    <con:details>
        <con1:ReceivedFaultDetail   
              xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
            <con1:faultcode>soapenv:Server</con1:faultcode>
            <con1:faultstring>checkExceptionConversion</con1:faultstring>
            <con1:detail>
                <mc:java-exception>
                    <mc:java-content ref="jcid"/>
                </mc:java-exception>
            </con1:detail>
        </con1:ReceivedFaultDetail>
    </con:details>
    

独自の例外を生成して呼出し元に戻す場合は、パイプラインのJavaコールアウトで例外を生成します。

失敗時の返信のためにエラー・ハンドラでJavaコールアウトまたはサービス・コールアウトを構成する場合、前に説明したフォルト構文のいずれかに従って$bodyを指定します。

30.1.3.2 アプリケーション・エラーおよび接続エラー

ここでは、JEJBトランスポートによって、サービスの再試行構成の対象であるアプリケーション・エラーと接続エラーがスローされる条件を説明します。

30.1.3.2.1 接続エラー

JEJBトランスポートでは、次の場合に接続エラーがスローされます。

  • リモート・コール時に発生したEJBをルックアップしている際のNamingExceptions。

  • 実行時例外またはリモート例外がスローされるが、継続中のトランザクションが「ロールバックのみ」に設定されておらず、EJBコンテナの呼出し前にエラーが発生したことがわかる状況。

30.1.3.2.1.1 アプリケーション・エラー

JEJBトランスポートでは、次の場合にアプリケーション・エラーがスローされます。

  • 実行時例外またはリモート例外がスローされ、継続中のトランザクションが(一般的にEJBコンテナによって)「ロールバックのみ」に設定されており、EJBコンテナが影響を受け、EJBコンテナまたはEJBそのもののいずれかで致命的なエラーが発生したことを意味する状況。

  • EJBビジネス・インタフェースで定義されているビジネス例外。

  • XMLのパラメータの誤ったエンコーディングによる例外。

30.2 JEJBサービスを作成するための前提条件

この項では、JEJBのプロキシ・サービスとビジネス・サービスを作成する前に知っておく必要があることについて説明します。

30.2.1 クライアントEJB JARファイルの作成とパッケージ化

JEJBサービスを使用する場合、JEJBのプロキシ・サービスとビジネス・サービスに関して、EJBの呼出しと操作を表すPOJOを作成し、パッケージ化する必要があります。次のガイドラインに従います。

  • タイプjava.io.Serializableのインタフェースを定義し、必要なヘルパー・クラス(ビジネス例外など)を組み込みます。このインタフェースが「JEJBトランスポートのエンドポイントURI」で説明するRMIプロトコルの1つに対して有効である場合、またはJMSメッセージに対して有効である場合(EJBを呼び出すためにJMSを使用しているとき)、クラスを拡張する必要はありません。

    必須ではありませんが、インタフェースをEJB 2.1仕様の定義に従ってリモート・インタフェースにしたり、メソッドをjavax.ejb.Remote注釈で注釈付けして、そのメソッドをEJB 3.0ビジネス・インタフェースとして指定できます。単純なPOJOインタフェース(EJBリモート・インタフェース以外)またはjavax.ejb.Remote注釈を含むインタフェースの場合、JEJBトランスポート・プロバイダはJEJBプロキシ・サービスから3.0 EJBインタフェースを生成します。リモート・インタフェースの場合、JEJBトランスポート・プロバイダはJEJBプロキシ・サービスから2.1 EJBインタフェースを生成します。

  • 引数として受信されるオブジェクトは、Javaコールアウト・アーカイブ・リソースのいずれかの必須クラスに渡される必要があります。

  • すべてのタイプのすべての配列はPOJOとみなされます。

  • 不要なシリアライゼーション/デシリアライゼーション・サイクルを回避するために、JavaコールアウトをサポートするService Busアーカイブ・リソースとしてアップロードされるJARファイルを複製しないようにします。すべてのアーカイブ・リソース・クラスを1つのJARファイルにパッケージ化して、複数のJavaコールアウトがオブジェクトのシリアライゼーション/デシリアライゼーションを行わないようにします。

  • インタフェースと依存クラスを1つのクライアントJARファイルにパッケージ化し、そのJARファイルをService Busにインポートします。これはサービスを構成するときに選択するクライアントJARファイルですが、スタブを含まないため、技術的には完全に展開されたEJBクライアントJARファイルではありません。JEJBプロキシ・サービスが作成されてアクティブ化されるまでは、実際のBean (WebLogic Serverスタブ生成)は存在しません。

30.2.2 JNDIプロバイダ・リソースの登録(ビジネス・サービス)

JNDIプロバイダ・リソースでは、リモートOracle WebLogic ServerドメインのJNDIツリーにバインドされているEJBスタブを取得するために使用される通信プロトコルおよびセキュリティ資格証明を指定できます。通常、ターゲットEJBはService Busと同じドメイン内にはありません。この場合、JNDIプロバイダ・リソースを登録する必要があります。EJBが同じドメイン内にある場合、プロバイダを定義して資格証明を指定し、スタブ・キャッシングを利用できます。ただし、これは省略可能です。

JNDIプロバイダには、リモート接続とEJBスタブのための高性能なキャッシング・メカニズムがあります。Service BusからOracle WebLogic Serverドメインへの推奨される通信プロトコルは、t3またはt3sです。メッセージがファイアウォールを通過する必要がある場合は、HTTPトンネリングを使用できます。

ノート:

WebLogic Serverの外部JNDIプロバイダを使用できますが、使用しないことをお薦めします。

このトランスポートでは、双方向SSLまたはクライアント証明書によるJNDIツリーのルックアップまたはEJBのメソッドへのアクセスをサポートしません。

Service BusへのJNDIプロバイダ・リソースの登録と構成の詳細は、「JNDIプロバイダ・リソースの操作」を参照してください。

30.3 使用例

プロキシ・サービスとビジネス・サービスでのJEJBトランスポートの使用がサポートされている使用例を次に示します。

各使用例には実装のガイドラインが含まれており、「JEJBトランスポート構成のリファレンス」の全般的なサービス構成と組み合せて使用できます。

30.3.1 外部サービスを呼び出すEJB

図30-1に示すように、Service Busを介してEJBで外部サービスを呼び出すことができます。

図30-1 外部サービスを呼び出すEJB

図30-1の説明が続きます
「図30-1 外部サービスを呼び出すEJB」の説明

図30-1では、JEJBプロキシ・サービスはEJBクライアント・インタフェースに対してステートレス・セッションBeanとして機能します。プロキシ・サービスのJEJBトランスポート・プロバイダは、クライアントJARとパイプラインのリモート/ビジネス・インタフェースからステートレス・セッションEJBを生成します。次に、エンドポイントURIに指定されたJNDIアドレスにEARとしてデプロイします。

ノート:

JNDIエントリが変更されないように保護するポリシーをインストールしてください。

EJBは、プロキシ・サービスEJBクライアントJARによって提供されるリモート・インタフェースをコールし、トランザクションとセキュリティの詳細をプロキシ・サービスに渡します。

EJBクライアント・インタフェースはPOJOであり、その引数はJEJBトランスポート・プロバイダがWSDLファイルとして表し、プロキシ・サービスの$body変数にXMLとして渡します。$bodyコンテンツのイントロスペクションを実行して、メッセージを必要な形式に変換してから、ビジネス・サービスに渡し、外部サービスを呼び出すことができます。実際のPOJOはオブジェクト・リポジトリに格納され、 $bodyのXMLが<java-content ref="">要素で参照します。

レスポンスでは、呼出し元のEJBメソッドに渡すために、レスポンスをEJB戻り形式に変換するJavaコールアウトを提供します。プロキシ・サービスの生成されたWSDLファイルを表示して、予期されるメッセージ・フォーマットを確認します。

ノート:

プロキシ・サービスのパイプラインで、Javaコールアウト、ビジネス・サービスまたは別のプロキシ・サービス(サービス・コールアウトまたはパブリッシュ・アクションを使用)にPOJO引数を渡すことができます。

30.3.2 EJBを呼び出す非EJBクライアント

図30-2に示すように、Service Busを介して非EJBクライアントでEJBを呼び出すことができます。

図30-2 EJBを呼び出す非EJBクライアント

図30-2の説明が続きます
「図30-2 EJBを呼び出す非EJBクライアント」の説明

図30-2では、非EJBクライアントが、リクエストと一致するトランスポートで構成されたプロキシ・サービス(たとえば、JMSトピックまたはキューで呼び出すJMSプロキシ・サービス)を呼び出します。

リクエストでJavaコールアウト(リクエストを$body変数のEJBコールのXML表現に変換する)を構成します。操作を$operation変数に設定します。ビジネス・サービスの生成されたWSDLファイルを表示して、予期されるメッセージ・フォーマットを確認します。JEJBビジネス・サービスは、生成されたWSDLファイルを使用して着信メッセージをEJBリモート・インタフェースにマップし、リモートEJBメソッドを直接呼び出します。

30.3.3 EJBを呼び出すEJB

図30-3に示すように、Service Busを介してEJBでEJBを呼び出すことができます。

図30-3 EJBを呼び出すEJB

図30-3の説明が続きます
「図30-3 EJBを呼び出すEJB」の説明

図30-3では、EJBコールはプロキシ・サービスとビジネス・サービスを介して渡され、別のEJBメソッドを呼び出します。Service Busの外部に直接RMIコールを行うかわりに、このアーキテクチャではService Busの機能(メッセージ・ルーティング、UDDI統合、アラート、モニター、レポート、結果キャッシングなど)を利用します。

プロキシ・サービスのJEJBトランスポート・プロバイダは、クライアントJARファイルとパイプラインのリモート/ビジネス・インタフェースからステートレス・セッションEJBを生成します。次に、エンドポイントURIに指定されたJNDIアドレスにEARファイルとしてデプロイします。

実行時に、JEJBプロキシ・サービスはPOJOをメソッドの引数として受け取ってオブジェクト・リポジトリに格納し、生成されたプロキシ・サービスWSDLファイルに基づいて、プロキシ・サービスの$body変数にPOJOのXML表現を生成します。プロキシ・サービスはメッセージをビジネス・サービスに渡します。ビジネス・サービスは、生成されたWSDLファイルを使用してメッセージをリモート・インタフェースにマップし、リモート・メソッドを直接呼び出します。

30.4 UDDI統合

JEJBプロキシ・サービスのプロパティは、UDDIレジストリとの間でパブリッシュおよびインポートできます。

30.4.1 UDDI公開

JEJBプロキシ・サービスは次のプロパティをUDDIレジストリにパブリッシュします。

  • URI

  • EJB仕様バージョン

  • クライアントJar

  • ホーム・インタフェース(EJB 2.1のみ)

  • リモート・インタフェース(EJB 3.0のビジネス・インタフェース)

  • メソッド名。操作別名、パラメータおよび戻り値の詳細は含まれません。メソッド名は、すべてのメソッド・シグネチャが付けられた1つのプロパティで渡されます。メソッド・シグネチャは番号(#)記号で区切られます。

30.4.2 UDDIのインポート

ここでは、JEJBトランスポートがUDDIレジストリからのサービス・インポートを処理する方法を説明します。

  • URI: JEJBトランスポート・プロバイダは、UDDIレジストリにあるURIプロパティのホストおよびポート情報を、サーバーに登録されているJNDIプロバイダ・リソースと照合しようとします。

    トランスポート・プロバイダがJNDIプロバイダを見つけられない場合、インポートは失敗します。ただし、JNDIプロバイダが見つからなくても、ホストおよびポートがlocalhostのIPとリスニング・ポートと一致する場合、結果のビジネス・サービスはローカルになります(JNDIプロバイダではありません)。

  • クライアントJAR: トランスポート・プロバイダがクライアントJARファイルをダウンロードし、マニフェスト・クラスパスがJARファイルに存在する場合は、対応するJARリソースを同じディレクトリ構造に作成します。リストの最初のURIがルート・クライアントJARファイルです。JARファイルにマニフェスト・クラスパスが存在しない場合は、リソースJARファイルをルートJARファイルに手動で追加する必要があります。インポートされたクライアントJARファイルのリソースが、ドメインの別のリソースと同じ名前である場合、インポートされたリソースによって既存のリソースが上書きされます。

    インポートするクライアントJARファイルがドメインに存在していないことを確認します。

  • メソッド名: 対応するプロパティに含まれるメソッドは、エンドポイントの構成で自動的に選択されます。他のすべてのメソッドは除外としてマークされます。

30.5 JEJBトランスポート構成のリファレンス

この項では、エンドポイントURIの形式と環境値、およびプロキシ・サービスとビジネス・サービスにおけるJEJBトランスポートの構成について説明します。

30.5.1 JEJBトランスポートのエンドポイントURI

エンドポイントURIの形式は、プロキシ・サービスとビジネス・サービスのどちらを構成するかによって異なります。

ノート:

JEJBサービスでは同じ場所に配置した呼出しはサポートされません。

30.5.1.1 プロキシ・サービスのJEJBエンドポイントURI

JEJBプロキシ・サービスに対して構成されるURIは、JEJBトランスポートによって生成されるステートレス・セッションBeanをクライアントJARのリモート/ビジネス・インタフェースで探すためのグローバルJNDI名になります。URL形式はejb_jndi_name.です。

ノート:

EJB 3.0の場合、ejb_jndi_nameは生成されるBeanの@javax.ejb.Stateless注釈のmappedName属性です。生成されるEJBサービスのルックアップJNDI名の接尾辞は#interface_classであり、これはビジネス・インタフェースの完全修飾名です。

次のようにJEJBプロキシ・サービスにアクセスできます。

  • EJB 2.1: protocol://host:port/ejb_jndi_name

  • EJB 3.0: protocol://host:port/ejb_jndi_name#interface_class

protocolは次のRMIプロトコルのいずれかです。

  • iiop/iiops:サーバーにとらわれない汎用プロトコルです。

  • t3/t3s: Oracle WebLogic Serverで使用されます。

  • http/https: トンネリングおよびOracle WebLogic Serverで使用します。

次に例を示します。

  • EJB 2.1: t3://localhost:7001/osb.jejb.myJejbProxy

  • EJB 3.0: t3://localhost:7001/osb.jejb.myJejbProxy#com.example.MyEjb3

30.5.1.2 ビジネス・サービスのJEJBエンドポイントURI

JEJBのビジネス・サービスのエンドポイントURIには、次の形式を使用します。

jejb:jndi_provider_name:ejb_jndi_name

jndi_provider_nameはリモートJNDIコンテキスト、ejb_jndi_nameはリモートEJBのJNDI名です。

次に例を示します。

  • EJB 2.1: jejb:myProvider:osb.jejb.myJejbBiz21

  • EJB 3.0: jejb:myProvider:myBiz31#osb.jejb.myJejbBiz

    ここで、#osb.jejb.myJejbBizは完全修飾されたビジネス・インタフェースです。

EJBがIBM WebSphere上で実行中の場合は、ejb_jndi_nameを次のいずれかの形式にしてください。

  • cell/nodes/node_name/servers/server_name/ejb_jndi_name

    または

  • cell/clusters/cluster_name/ejb_jndi_name

詳細は、IBM WebSphereのドキュメントを参照してください。

30.5.2 JEJBトランスポートを使用するプロキシ・サービスの構成

次の表に、プロキシ・サービス用のJEJBトランスポートの構成に使用するプロパティを示します。プロキシ・サービスを作成する手順については、「プロキシ・サービスの作成と構成」を参照してください。

表30-1 プロキシ・サービス用のJEJBトランスポート・プロパティ

プロパティ 説明

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

EJB仕様バージョン

リモートEJBインタフェースのEJBバージョンを選択します。

値でXMLBeansを渡す

トランスポートによってPOJO引数(XMLObject)のインラインXML表現を生成する場合は、このオプションを選択します。この引数のパラメータは、XQuery式でアクセスおよび操作できます。

ノート: 値で渡されたXMLObjectの場合、型情報はインラインでは利用できません。このオプションを使用する場合、プロキシ・サービス・パイプラインのJavaコールアウトで型付きのXMLObjectを引数として渡すことはできません。

参照でPOJOを渡す場合は、このオプションを選択しないでください。こうすることでパフォーマンスも向上します。

詳細は、「JEJBトランスポートによるWSDLの生成」を参照してください。

トランザクション属性

トランザクションを処理するために次のいずれかのオプションを選択します。

  • Supports: トランスポートは着信トランザクションを受け入れます。サービス品質は、操作がトランザクションで呼び出される場合は「必ず1回」、操作がトランザクション外部から呼び出される場合は「ベスト・エフォート」です。

  • Required: トランスポートは着信トランザクションを受け入れます。発信トランザクションが存在しない場合、トランスポートが発信トランザクションを開始します。サービス品質は「必ず1回」です。

  • RequiresNew: トランスポートは常に新しいトランザクションを開始し、進行中のトランザクションを中断します。サービス品質は「必ず1回」です。

  • Mandatory: トランスポートは既存のトランザクションのメソッドを呼び出します。サービス品質は「必ず1回」です。

  • NotSupported: トランスポートは既存のトランザクションを中断し、呼出し時に再開します。サービス品質は「ベスト・エフォート」です。

  • Never: トランスポートはトランザクションのメソッドを呼び出しません。サービス品質は「ベスト・エフォート」です。

リモート・クライアント・タイムアウト

リモートRMIクライアントがタイムアウトまでに待機する時間の長さを秒数で指定します。

クライアントJar

「参照」をクリックし、表示されるリストからEJBクライアントJARリソースを選択します。クライアントJARには、リモートEJBのリモートまたはビジネス・インタフェースが含まれます。クライアントJARは、汎用アーカイブ・リソースとして登録されます。

ホーム・インタフェース

EJB 2.1専用。クライアントJARによって設定されるオプションから必須のEJBHomeインタフェースを選択します。

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

EJB 2.1専用。このフィールドには、ホーム・インタフェースの構成に基づいて、自動的に情報が表示されます。

ビジネス・インタフェース

EJB 3.0専用。クライアントJARファイルから呼び出すビジネス・インタフェースを選択します。

対象ネームスペース

生成されるWSDLファイルのターゲット・ネームスペース。このフィールドにはJARからピックアップされた情報が自動的に移入されます。

メソッド

使用可能なメソッドのリストから、必要なメソッドを選択します。使用可能なメソッドは、使用するJARファイルによって異なります。デフォルトでは、すべてのメソッドが選択されています。メソッドを開くと、デフォルトのパラメータ値を編集できます。

任意のメソッドのデフォルトの操作名を変更できます。デフォルトでは、操作名はメソッド名です。EJBに同じ名前のメソッドが含まれている場合(オーバーロード)、一意になるように操作名を変更する必要があります。WSDLファイルでは一意の操作名が必要です。

30.5.3 ビジネス・サービスの構成

次の表に、ビジネス・サービス用のJEJBトランスポートの構成に使用するプロパティを示します。詳細は、「ビジネス・サービスの作成と構成」を参照してください。

表30-2 ビジネス・サービスのためのJEJBトランスポート構成

オプション 説明

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

EJB仕様バージョン

リモートEJBインタフェースのEJBバージョンを選択します。

値でXMLBeansを渡す

トランスポートによってPOJO引数(XMLObject)のインラインXML表現を生成する場合は、このオプションを選択します。この引数のパラメータは、XQuery式でアクセスおよび操作できます。

ノート: 値で渡されたXMLObjectの場合、型情報はインラインでは利用できません。このオプションを使用する場合、プロキシ・サービス・パイプラインのJavaコールアウトで型付きのXMLObjectを引数として渡すことはできません。

参照でPOJOを渡す場合は、このオプションを選択しないでください。こうすることでパフォーマンスも向上します。

参照でPOJOを渡す場合は、このオプションを選択しないでください。こうすることでパフォーマンスも向上します。

詳細は、「JEJBトランスポートによるWSDLの生成」を参照してください。

呼出し元のサブジェクトを渡す

このオプションは、サービス・アカウントを選択するかわりの手段として選択します。このオプションを選択すると、EJBを呼び出すときに、Service Busがプロキシ・サービスの認証済サブジェクトを渡します。

サービス・アカウント

サービスにアクセスするための認証に使用するサービス・アカウントを入力します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。Basic認証を選択した場合、このフィールドは必須です。

詳細は、「サービス・アカウントの操作」を参照してください。

クライアントJar

「参照」をクリックし、表示されるリストからEJBクライアントJARリソースを選択します。クライアントJARには、リモートEJBのリモートまたはビジネス・インタフェースが含まれます。クライアントJARは汎用アーカイブ・リソースとして登録されます。

ホーム・インタフェース

EJB 2.1専用。クライアントJARによって設定されるオプションから必須のEJBHomeインタフェースを選択します。

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

EJB 2.1専用。このフィールドには、ホーム・インタフェースの構成に基づいて、自動的に情報が表示されます。

ビジネス・インタフェース

EJB 3.0専用。クライアントJARファイルから呼び出すビジネス・インタフェースを選択します。

対象ネームスペース

生成されるWSDLファイルのターゲット・ネームスペース。このフィールドにはJARからピックアップされた情報が自動的に移入されます。

メソッド

使用可能なメソッドのリストから、必要なメソッドを選択します。使用可能なメソッドは、使用するJARファイルによって異なります。デフォルトでは、すべてのメソッドが選択されています。メソッドを開くと、デフォルトのパラメータ値を編集できます。

任意のメソッドのデフォルトの操作名を変更できます。デフォルトでは、操作名はメソッド名です。EJBに同じ名前のメソッドが含まれている場合(オーバーロード)、一意になるように操作名を変更する必要があります。WSDLファイルでは一意の操作名が必要です。

30.5.4 JEJBトランスポートの環境値

JEJBトランスポートでは、JEJBサービスのために次の環境値が格納されています。

  • サービスURI

  • ワーク・マネージャ

  • UDDI自動パブリッシュ(プロキシ・サービス)

  • サービス・アカウント(ビジネス・サービス)

これらの値は、ビジネス・サービスとプロキシ・サービスのトランスポート・プロパティに対応しています。詳細は、「JEJBトランスポート構成のリファレンス」を参照してください。