JAX-RPC ハンドラーおよびプロキシー・オペレーション

Web サービス・ゲートウェイは、ご使用のサービス用の純粋なプロキシーとして機能するように設定できます。その後、JAX-RPC ハンドラー・リストを使用して、サービスの着信要求メッセージのエンドポイントを設定します。

新規プロキシー・サービスの構成を作成する際に、ゲートウェイは、 そのサービスに関して呼び出し以外の アクションを取りません。 プロキシー・サーバーを構成する際には、サービス用の ターゲット・エンドポイントを設定するために javax.xml.rpc.service.endpoint.address を使用する JAX-RPC ハンドラー・リストも構成します。 次に、このハンドラー・リスト をプロキシー・サービスのインバウンド・ポートに接続します。

ゲートウェイは、メッセージを受け取る際に、 呼び出されている要求が要求と応答であるか、あるいは片方向であるかを認識する必要があります。 ゲートウェイは SOAP メッセージの構文解析を行わないため 、SOAP メッセージからこの情報を得ることはできません。 したがって、要求元クライアントは、operationMode HTTP 照会ストリング・パラメーターをゲートウェイ・サービスの Web アドレスに付加する必要があります。 このパラメーターの値は、oneway または requestResponse のいずれかです。 プロキシー・サービス構成の Web アドレスが以下のようであるとします。
http://host_name:port_number/wsgwsoaphttp1/soaphttpengine/your_bus/ProxyService/ProxyServiceInboundPort
(ここで、host_name および port_number はこのアプリケーション・サーバーのホスト名およびポート番号) この場合、要求元クライアントは、 以下の URL を使用して片方向要求を送信していることを示します。
http://host_name:port_number/wsgwsoaphttp1/soaphttpengine/your_bus/ProxyService/ProxyServiceInboundPort?operationMode=oneway
operationMode パラメーターが欠落している場合、 ゲートウェイは、要求されたメソッドが requestResponse であると見なします。
プロキシー・サービス構成は実際のターゲット・サービスを備えていな いため、サービス呼び出しを構成するためにゲートウェイが使用できる WSDL は ありません。 汎用プロキシー WSDL ファイルを使用して、起動呼び出し用 の基本パラメーター (使用するバインディングなど) を構成することができ ますが、ユーザー独自の同等の汎用プロキシー WSDL ファイルを指定するこ とにより、デフォルトをオーバーライドすることもできます。 提供されるプロキシー WSDL ファイルは、 onewayrequestResponseの 2 つの操作を持つ単一の portType を定義します。 動作モードが oneway である場合、ゲートウェイは WSDL から片方向オペレーションを選択します。 提供されたプロキシー WSDL ファイルは、次の場所に あります。
http://host_name:port_number/SIBWS/proxywsdl/ProxyServiceTemplate.wsdl
(例えば、http://your.server.name:9080/SIBWS/proxywsdl/ProxyServiceTemplate.wsdl)

個々のプロキシー・サービスについて、 新規プロキシー・サービス構成の作成 または 既存のプロキシー・サービス構成の変更時に、デフォルトのプロキシー WSDL ファイルをオーバーライドして代替 WSDL を提供することができます。

ゲートウェイで別のデフォルト・プロキシー WSDL ファイルを使用する場合は、 新規ゲートウェイ・インスタンスを作成するときに、新規デフォルト・プロキシー WSDL ファイルの Web アドレスを指定します。 新規デフォルト・プロキシー WSDL ファイルは、提供されているデフォルト・プロキシー WSDL ファイルと同じポート・タイプ、バインディング、およびポート名を実装する必要があります。 唯一の違いがあるとしたら、バインディングを構成するために使用する拡張エレメントです。 新しいデフォルト・プロキシー WSDL ファイルでは、 <soap:target address> タグの値は適切な形式の Web アドレスでなければなりませんが、実際のページを指す必要はありません。 例えば、this.is.a.fake.url の値は拒否されますが 、http://this.is.a.fake.url の値は受け入れられます。 JAX-RPC ハンドラー・リストは、javax.xml.rpc.service.endpoint.address を使用して、 実行時にこの値を実際の Web アドレスでオーバーライドします。

注: JAX- RPC ハンドラリストがデプロイされていない場合、ゲートウェイはプロキシWSDLファイル内の` <soap:target address> `タグで指定された偽のWebアドレスへ全リクエストを送信しようと試みます。