この章では、JEJBトランスポートの概要と、サービスでの使用および構成方法について説明します。
この章の内容は次のとおりです。
JEJBトランスポートを使用すると、Oracle Service Busを介してPlain Old Java Object (POJO)を渡すことができます。たとえば、EJBを使用してリモートEJB操作または非EJBサービスを呼び出すことができます。または、非EJBリクエストでEJB操作を呼び出すことができます。詳しい使用例を29.3項「使用例」で説明します。
J2EEクライアントに対して、JEJBプロキシ・サービスのパイプラインはステートレス・セッションBeanのように見えます。JEJBプロキシ・サービスは、メソッド引数を受け取ると、そのXML表現をパイプラインの$body変数に渡します。POJO引数は、XMLフラグメントとして表されます。このXMLフラグメントには、パイプライン内のオブジェクト・リポジトリに格納されている実際のPOJOの場所が含まれます。XML引数は、値または参照(オブジェクト・リポジトリに格納される実際のオブジェクトを参照する)として渡すことができます。プリミティブ型は常に値として渡されます。
メッセージ・フローでのPOJOの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のbody変数のJavaコンテンツに関する項およびJavaコールアウトとPOJOを使用するExtensibilityに関する項を参照してください。
JEJBトランスポートは常に非同期であり、パターンはリクエスト/レスポンスです。
デプロイメントに際して、Oracle Service BusはJEJBプロキシ・サービスをエンタープライズ・アーカイブ(EAR)として自動的にパッケージ化します。
EJBトランスポート(ビジネス・サービスのみに対応)は、Java Web Services (JWS)フレームワークを介してリモートEJBをよびだします。JEJBトランスポート(リモートEJBや外部サービスをPOJOを使用して呼び出すことができる)は、RMIシリアライゼーション/デシリアライゼーション・サイクルを使用して、Oracle Service Busを介してターゲットEJBメソッドにPOJOを直接渡します。
EJBトランスポートには「トランザクションをサポートする」フラグがありますが、すべてのOracle Service Busプロキシ・サービスでトランザクションのサポートが提供されるため、JEJBビジネス・サービスではトランザクション・オプションが必要ありません。
JEJBトランスポートでは、JEJBサービスのために次の環境値が格納されています。
サービスURI
ワーク・マネージャ
UDDI自動パブリッシュ(プロキシ・サービス)
サービス・アカウント(ビジネス・サービス)
プロキシ・サービスとビジネス・サービスのために、JEJBトランスポートは、パイプラインに渡すメッセージを記述するためだけに使用されるリテラル・エンコーディングのドキュメント形式WSDLを生成します。このWSDL形式を使用すると、Oracle Service BusのWSDL機能(操作ごとの監視など)を利用できます。
表29-1で説明するように、「値でXMLBeansを渡す」オプションを使用してPOJO引数をメッセージにインライン指定すると、WSDLに定義されるメッセージ構造は、実行時の実際のパイプライン・メッセージと異なる可能性があります。
XMLBeansタイプ・パラメータに対するパイプライン・メッセージ形式の動作は次のとおりです。
プロキシ・サービス
リクエスト・パラメータ: 「値でXMLBeansを渡す」がtrueの場合、パイプライン・メッセージのリクエスト・パラメータはインラインXml Objectを参照します。これ以外の場合は、java-content refを参照します。
レスポンス・パラメータ: レスポンスはインラインXML Objectまたはjava-content refを参照します。レスポンスはビジネス・サービスのいずれか形式に基づくためです。
ビジネス・サービス
レスポンス・パラメータ: 「値でXMLBeansを渡す」がtrueの場合、パイプライン・メッセージの戻りパラメータはインラインXml Objectを参照します。そうでない場合は、java-content refを参照します。
リクエスト・パラメータ: パイプライン・メッセージのリクエスト・メソッド・パラメータは、インラインXML Objectまたはjava-content refを参照できます。リクエストはプロキシ・サービスのいずれかの形式の基づくためです。
ここでは、JEJBトランスポートがどのようにエラーを処理するかを説明します。
JEJBトランスポートは、リクエスト例外をオブジェクト・リポジトリに格納し、$fault変数を介してJEJBプロキシ・サービスに伝播します。$faultには、<java-exception> <java-content ref="jcid"/> </java-exception>要素内の例外インスタンスの場所が含まれます。ここで、jcidはオブジェクト・リポジトリに格納されている例外インスタンスへの参照です。
JEJBプロキシ・サービスでユーザー例外をクライアントに伝播するには、レスポンスが次のいずれかの形式であることが必要です。
env:Envelope/env:Fault/detail/mc:java-exception
次の形式で指定します。jcid
はオブジェクト・リポジトリないのエラーへの参照です。
<detail> <mc:java-exception> <mc:java-content ref="jcid"/> </mc:java-exception> ... </detail>
env:Envelope/env:Fault/detail/mc:fault/mc:java-exception
次の形式で指定します。jcid
はオブジェクト・リポジトリないのエラーへの参照です。
<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
次の形式で指定します。jcid
はオブジェクト・リポジトリないのエラーへの参照です。
<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コールアウトで例外を生成します。
ここでは、JEJBのプロキシ・サービスとビジネス・サービスの作成および構成の手順を説明します。
ここでは、JEJBのプロキシ・サービスとビジネス・サービスに関して、EJBの呼出しと操作を表すPOJOの作成とパッケージ化のガイドラインを示します。
タイプjava.io.Serializableのインタフェースを定義し、必要なヘルパー・クラス(ビジネス例外など)を組み込みます。このインタフェースが29.4.1項「JEJBのエンドポイントURI」で説明するRMIプロトコルの1つに対して有効である場合、またはJMSメッセージに対して有効である場合(EJBを呼び出すためにJMSを使用しているとき)、クラスを拡張する必要はありません。
注意: 必須ではありませんが、次のようにできます。
単純なPOJOインタフェース(EJBリモート・インタフェース以外)またはjavax.ejb.Remoteアノテーションを含むインタフェースの場合、JEJBトランスポート・プロバイダはJEJBプロキシ・サービスから3.0 EJBインタフェースを生成します。リモート・インタフェースの場合、JEJBトランスポート・プロバイダはJEJBプロキシ・サービスから2.1 EJBインタフェースを生成します。 |
引数として受信されるオブジェクトは、Javaコールアウト・アーカイブ・リソースのいずれかの必須クラスに渡される必要があります。
すべてのタイプのすべての配列はPOJOとみなされます。
Javaコールアウトをサポートするアーカイブ・リソースとしてアップロードされるJARを複製せずに、不必要なシリアライゼーション/デシリアライゼーション・サイクルを回避します。すべてのアーカイブ・リソース・クラスを1つのアーカイブJARにパッケージ化して、複数のJavaコールアウトがオブジェクトのシリアライゼーション/デシリアライゼーションを行わないようにします。
インタフェースと依存クラスを1つの「クライアント」JARにパッケージ化し、そのJARをOracle Service Busにインポートします。これはサービスを構成するときに選択するクライアントJARですが、スタブを含まないため、技術的には完全に展開されたEJBクライアントではありません。JEJBプロキシ・サービスが作成されてアクティブ化されるまでは、実際のBean (Oracle WebLogic Serverスタブ生成)は存在しません。
JNDIプロバイダ・リソースでは、リモートOracle WebLogic ServerドメインのJNDIツリーにバインドされているEJBスタブを取得するために使用される通信プロトコルおよびセキュリティ資格証明を指定できます。(JNDIツリーの設定方法の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JNDIのプログラミング』を参照してください。)
通常、ターゲットEJBはOracle Service Busと同じドメイン内にはありません。この場合、JNDIプロバイダ・リソースを登録する必要があります。EJBが同じドメイン内にある場合、プロバイダを定義して資格証明を指定し、スタブ・キャッシングを利用できます。ただし、これは省略可能です。
JNDIプロバイダには、リモート接続とEJBスタブのための高性能なキャッシング・メカニズムがあります。Oracle Service BusからOracle WebLogic Serverドメインへの推奨される通信プロトコルは、t3
またはt3s
です。メッセージがファイアウォールを通過する必要がある場合は、HTTPトンネリングを使用できます。
注意: Oracle WebLogic Serverの外部JNDIプロバイダを使用することは可能ですが、使用しないことをお薦めします。 このトランスポートでは、双方向SSLまたはクライアント証明書によるJNDIツリーのルックアップまたはEJBのメソッドへのアクセスをサポートしません。 |
ここでは、JEJBのプロキシ・サービスまたはビジネス・サービスを構成する手順の概要を説明します。29.3項「使用例」のシナリオによって、JEJBのプロキシ・サービスとビジネス・サービスをいつ作成する必要があるかがわかります。各使用例では、一般的な実装ガイドラインが示されます。
サービスの「全般」ページでトランスポート型オプションを選択します。
「トランスポート」ページで次の操作を実行します。
jejbプロトコルを選択します。
29.4.1項「JEJBのエンドポイントURI」の説明に従って、エンドポイントURIの情報を入力します。
4.3.6項「プロキシ・サービスの「トランスポート構成」ページ」および4.2.4項「ビジネス・サービスの「トランスポート構成」ページ」の説明に従って、他のグローバル・トランスポート・オプションを設定します。
29.4.2項「JEJBトランスポート構成(プロキシ・サービス)」および29.4.3項「JEJBトランスポート構成(ビジネス・サービス)」の説明に従って、JEJBトランスポート・ページでサービスのトランスポート・オプションを構成します。
4.3項「プロキシ・サービスの構成」および4.2項「ビジネス・サービスの構成」の説明に従って、サービスのその他のオプションを設定します。
実装のガイドラインは、29.3項「使用例」の特定の使用例を参照してください。
プロキシ・サービスとビジネス・サービスでのJEJBトランスポートの使用がサポートされている使用例を次に示します。各使用例には実装のガイドラインが含まれており、29.2.3項「JEJBプロキシ・サービスまたはビジネス・サービスの構成」の全般的なサービス構成と組み合せて使用できます。
図29-1に示すように、Oracle Service Busを介してEJBで外部サービスを呼び出すことができます。
図29-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を表示して、予期されるメッセージ形式を確認します。生成されたWSDLを表示する方法の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のリソース詳細の表示に関する項を参照してください。
注意: プロキシ・サービスのパイプラインで、Javaコールアウト、別のプロキシ・サービス(サービス・コールアウトまたはパブリッシュ・アクションを使用)またはビジネス・サービスにPOJO引数を渡すことができます。 |
図29-2に示すように、Oracle Service Busを介して非EJBクライアントでEJBを呼び出すことができます。
図29-2では、非EJBクライアントが、リクエストと一致するトランスポートで構成されたプロキシ・サービス(たとえば、JMSトピックまたはキューで呼び出すJMSプロキシ・サービス)を呼び出します。
リクエストでJavaコールアウト(リクエストを$body変数のEJBコールのXML表現に変換する)を構成します。操作を$operation変数に設定します。ビジネス・サービスの生成されたWSDLを表示して、予期されるメッセージ形式を確認します。生成されたWSDLを表示する方法の詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のリソース詳細の表示に関する項を参照してください。
JEJBビジネス・サービスは、生成されたWSDLを使用して着信メッセージをEJBリモート・インタフェースにマップし、リモートEJBメソッドを直接呼び出します。
図29-3に示すように、Oracle Service Busを介してEJBでEJBを呼び出すことができます。
図29-3では、EJBコールはプロキシ・サービスとビジネス・サービスを介して渡され、別のEJBメソッドを呼び出します。Oracle Service Busの外部に直接RMIコールを行うかわりに、このアーキテクチャではOracle Service Busの機能(メッセージ・ルーティング、UDDI統合、アラート、監視、レポート、結果キャッシングなど)を利用します。
プロキシ・サービスのJEJBトランスポート・プロバイダは、クライアントJARとパイプラインのリモート/ビジネス・インタフェースからステートレス・セッションEJBを生成します。次に、エンドポイントURIに指定されたJNDIアドレスにEARとしてデプロイします。
実行時に、JEJBプロキシ・サービスはPOJOをメソッドの引数として受け取ってオブジェクト・リポジトリに格納し、生成されたプロキシ・サービスWSDLに基づいて、プロキシ・サービスの$body変数にPOJOのXML表現を生成します。プロキシ・サービスはメッセージをビジネス・サービスに渡します。ビジネス・サービスは、生成されたWSDLを使用してメッセージをリモート・インタフェースにマップし、リモート・メソッドを直接呼び出します。
パイプライン・ロジックをJEJBトランスポートと独立しておきたい場合は、メッセージをJEJBプロキシ・サービスからローカル・プロキシ・サービスにルーティングできます。ローカル・プロキシ・サービスがパイプライン・ロジックを実行してから、メッセージをJEJBビジネス・サービスに送ることができます。このパターンを使用する場合は、ローカル・プロキシのタイプがWSDL(ビジネス・サービス操作対応)であり、Javaオブジェクトにアクセスできることを確認してください。
ここでは、プロキシ・サービスとビジネス・サービスでのエンドポイントURIの作成およびJEJBトランスポートの構成について詳しく説明します。
JEJBのプロキシ・サービスとビジネス・サービスのエンドポイントURIの形式を次に示します。
注意: JEJBサービスでは同じ場所に配置した呼出しはサポートされません。 |
URL形式はejb_jndi_name.です。JEJBプロキシ・サービスに対して構成されるURIは、JEJBトランスポートによって生成されるステートレス・セッションBeanをクライアントJARのリモート/ビジネス・インタフェースで探すためのグローバルJNDI名になります。
注意: 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
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上で実行中の場合は、
または
詳細は次の場所にあるIBM WebSphereのドキュメントに記述されています。 |
このページでは、JEJB転送プロトコルを使用するプロキシ・サービスのトランスポート設定を構成できます。
表29-1に、JEJBトランスポートを使用するビジネス・サービスのトランスポート固有の構成オプションを示します。
表29-1 プロキシ・サービスのためのJEJBトランスポート構成
オプション | 説明 |
---|---|
ディスパッチ・ポリシー |
このエンドポイントのディスパッチ・ポリシーに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。 ワーク・マネージャの詳細は、次の説明を参照してください。
|
EJB仕様バージョン |
リモートEJBインタフェースのEJBバージョンを選択します。 |
値でXMLBeansを渡す |
トランスポートによってPOJO引数(XMLObject)のインラインXML表現を生成する場合は、このオプションを選択します。この引数のパラメータは、XQuery式でアクセスおよび操作できます。 注意: 値で渡されたXMLObjectの場合、型情報はインラインでは利用できません。このオプションを使用する場合、プロキシ・サービス・パイプラインのJavaコールアウトで型付きのXMLObjectを引数として渡すことはできません。 参照でPOJOを渡す場合は、このオプションを選択しないでください。こうすることでパフォーマンスも向上します。 詳細は、29.1.3項「WSDLの生成」を参照してください。 |
トランザクション属性 |
トランザクションを処理するために次のいずれかのオプションを選択します。
|
クライアントJar |
「参照」をクリックし、表示されるリストからEJBクライアントJARリソースを選択します。クライアントJARには、リモートEJBのリモートまたはビジネス・インタフェースが含まれます。クライアントJARは汎用アーカイブ・リソースとして登録されます。 |
ホーム・インタフェース |
EJB 2.1専用 - クライアントJARによって設定されるオプションから必須のEJBHomeインタフェースを選択します。 |
リモート・インタフェース |
EJB 2.1のみ - このフィールドは、ホーム・インタフェースの構成に応じて、自動的に情報が表示されます。 |
ビジネス・インタフェース |
EJB 3.0のみ - クライアントJARから、起動するビジネス・インタフェースを選択します。 |
対象ネームスペース |
このフィールドにはJARからのピックアップされた情報が表示されます。 |
メソッド |
必要なメソッドを選択します。「+」をクリックしてメソッドを展開すると、デフォルトのパラメータ値を編集できます。 任意のメソッドのデフォルトの操作名を変更できます。デフォルトでは、操作名はメソッド名です。EJBに同じ名前のメソッドが含まれている場合(オーバーロード)、一意になるように操作名を変更する必要があります。WSDLでは一意の操作名が必要です。 |
このページでは、JEJB転送プロトコルを使用するビジネス・サービスのトランスポート設定を構成できます。
表29-2に、JEJBトランスポートを使用するビジネス・サービスのトランスポート固有の構成オプションを示します。
表29-2 ビジネス・サービスのためのJEJBトランスポート構成
オプション | 説明 |
---|---|
ディスパッチ・ポリシー |
このエンドポイントのディスパッチ・ポリシーに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。 ワーク・マネージャの詳細は、次の説明を参照してください。
|
EJB仕様バージョン |
リモートEJBインタフェースのEJBバージョンを選択します。 |
値でXMLBeansを渡す |
トランスポートによってPOJO引数(XMLObject)のインラインXML表現を生成する場合は、このオプションを選択します。この引数のパラメータは、XQuery式でアクセスおよび操作できます。 注意: 値で渡されたXMLObjectの場合、型情報はインラインでは利用できません。このオプションを使用する場合、プロキシ・サービス・パイプラインのJavaコールアウトで型付きのXMLObjectを引数として渡すことはできません。 参照でPOJOを渡す場合は、このオプションを選択しないでください。こうすることでパフォーマンスも向上します。 詳細は、29.1.3項「WSDLの生成」を参照してください。 |
呼出し元のサブジェクトを渡す |
「サービス・アカウント」を選択するかわりに、このオプションを選択して、Oracle Service BusがEJBを呼び出すときにプロキシ・サービスの認証済サブジェクトを渡すようにします。 |
サービス・アカウント |
「参照」をクリックし、表示されるリストでJNDIサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。詳細は、4.19項「サービス・アカウント」を参照してください。 |
クライアントJar |
「参照」をクリックし、表示されるリストからEJBクライアントJARリソースを選択します。クライアントJARには、リモート・サービスのリモートまたはビジネス・インタフェースが含まれます。クライアントJARは汎用アーカイブ・リソースとして登録されます。 |
ホーム・インタフェース |
EJB 2.1専用 - JARによって挿入されるオプションから必要なEJBHomeインタフェースを選択します。 |
リモート・インタフェース |
EJB 2.1のみ - このフィールドは、ホーム・インタフェースの構成に応じて、自動的に情報が表示されます。 |
ビジネス・インタフェース |
EJB 3.0のみ - クライアントJARから、起動するビジネス・インタフェースを選択します。 |
対象ネームスペース |
このフィールドにはJARからのピックアップされた情報が表示されます。 |
メソッド |
必要なメソッドを選択します。「+」をクリックしてメソッドを展開すると、デフォルトのパラメータ値を編集できます。 任意のメソッドのデフォルトの操作名を変更できます。デフォルトでは、操作名はメソッド名です。EJBに同じ名前のメソッドが含まれている場合(オーバーロード)、一意になるように操作名を変更する必要があります。WSDLでは一意の操作名が必要です。 |
Oracle Service Busテスト・コンソールで、POJOを参照ではなく値で渡す(「Pass XMLBeans by value」オプション)JEJBサービスをテストできます。テスト・コンソールでサポートされるのは、プリミティブ、StringおよびXMLの引数のみです。トランスポートは、サポートされるPOJO引数とその値を、呼出しポイント(EJBメソッド)を指定するXMLとして渡します。
ここでは、JEJBプロキシ・サービスに関するUDDIのパブリッシュとインポートの詳細について説明します。
JEJBプロキシ・サービスは次のプロパティをUDDIレジストリにパブリッシュします。
URI
EJB仕様バージョン
クライアントJar
ホーム・インタフェース(EJB 2.1のみ)
リモート・インタフェース(EJB 3.0のビジネス・インタフェース)
メソッド名(操作別名、パラメータ、戻り値の詳細は含まれません)。メソッド名は、すべてのメソッド・シグネチャが付けられた1つのプロパティで渡されます。メソッド・シグネチャは#記号で区切られます。
ここでは、JEJBトランスポートがUDDIレジストリからのサービス・インポートを処理する方法を説明します。
URI - JEJBトランスポート・プロバイダは、UDDIレジストリにあるURIプロパティのhost:port情報を、サーバーに登録されているJNDIプロバイダ・リソースと照合しようとします。
トランスポート・プロバイダがJNDIプロバイダを見つけられない場合、インポートは失敗します。ただし、JNDIプロバイダが見つからなくても、host:portがlocalhostのIPとリスニング・ポートと一致する場合、結果のビジネス・サービスはローカルになります(JNDIプロバイダではありません)。
クライアントJAR - トランスポート・プロバイダがクライアントJARをダウンロードし、マニフェスト・クラスパスがJARに存在する場合は、対応するJARリソースを同じディレクトリ構造に作成します。リストの最初のURIがルート・クライアントJARです。JARにマニフェスト・クラスパスが存在しない場合は、リソースJARをルートJARに手動で追加する必要があります。インポートされたクライアントJARのリソースが、ドメインの別のリソースと同じ名前である場合、インポートされたリソースによって既存のリソースが上書きされます。
インポートするクライアントJARがドメインに存在していないことを確認します。
メソッド名 - 対応するプロパティに含まれるメソッドは、エンドポイントの構成で自動的に選択されます。他のすべてのメソッドは除外としてマークされます(選択解除されます)。