HTTP および JMS トランスポート・メソッド

WebSphere® ランタイム環境を使用して作成された Web サービスは、 既存の HTTP トランスポートに加えて JMS トランスポート層もサポートしています。このため、 Web サービスのクライアントとサーバーは、HTTP 接続ではなく、JMS のキューおよびトピックを使用して 通信することができます。片方向要求と、同期式の両方向要求が、 いずれもサポートされています。JMS トランスポート経由で Web サービスにアクセスできるようにするには、 その Web サービスを EJB として実装する必要があります。

HTTP の代わりに JMS を使用することには、次のような利点があります。

JMS トランスポートで Web サービスにアクセスできるようにする場合、 対応する WSDL 文書に、JMS バインディングと、JMS エンドポイント URL ストリングを指定する SOAP アドレスが 含まれていなければなりません。JMS バインディングは単なる wsdl:binding 要素で、 ここには wsdlsoap:binding 要素が含まれています。この要素の transport 属性は、 通常の soap/http 値ではなく、soap/jms で終わります。JMS バインディングだけではなく、JMS バインディングを参照する wsdl:port 要素も、WSDL 文書内の wsdl:service 要素に含まれている 必要があります。この wsdl:port 要素には、wsdlsoap:address 要素が含まれ、その location 属性で、JMS エンドポイント URL ストリングが指定されます。

さらに、アプリケーションが使用する JMS オブジェクトの名前とタイプを決めることも必要です。 例えば、ご使用の Web サービスが要求をキューまたはトピックから受け取るようにするかどうかを決める必要があります。また、セキュア宛先 (キューまたはトピック) を使用するかどうかも決める必要があります。最後に、宛先、接続ファクトリー、およびリスナー・ポートの名前を決める必要があります。以下のリストは、サンプルの StockQuote Web サービスに使用される名前の例です。

Web サービスの作成後は、ルーター・モジュールの作成ウィザードを使用して、EAR ファイルに含まれる、Web サービスに対応した個々の EJB .jar 用の JMS エンドポイント (ルーター・モジュール) を 追加することができます。Web サービス・ウィザードを使用して Web サービスを作成する場合は、 これが自動的に実行されます。


フィードバック