WebLogic Web サービス プログラマーズ ガイド
|
|
この章では、WebLogic Web サービスの呼び出しに JMS 転送を使う方法に関する情報を提供します。
クライアント アプリケーションから WebLogic Web サービスを呼び出すときは、デフォルトの接続プロトコルとして HTTP/S が使用されます。しかし、それ以外に、クライアント アプリケーションからの WebLogic Web サービスの呼び出しに JMS も使用するように、Web サービスをコンフィグレーションすることができます。
接続転送として JMS も使用するように WebLogic Web サービスをコンフィグレーションすると、以下のものが追加されます。
clientgen Ant タスクで、HTTP/S 用と JMS 用の 2 つの getPortXXX() メソッドを持つ Service 実装が作成される。注意 :任意の WebLogic Web サービスをコンフィグレーションしてその WSDL に JMS バインディングを含めることができます。この機能は、JMS で実装された WebLogic Web サービスとは関係ありません。
次の手順では、servicegen Ant タスクに精通していることと、JMS 転送を使用するように Web サービスを更新する必要があることを前提にしています。servicegen の使い方の例については、「WebLogic Web サービスの作成 : 単純な例」を参照してください。
以下の手順では、JMS リソースのコンフィグレーションに Administration Console を使用します。
これらのコンポーネントの作成については、「JMS : コンフィグレーション」を参照してください。
「web-services.xml ファイルを更新して JMS 転送を指定する」を参照してください。
Web サービスを呼び出す Java クライアント アプリケーションの記述の詳細については、「JMS 転送を使用した Web サービスの呼び出し」を参照してください。
web-services.xml ファイルは、Web サービス EAR ファイルにある Web アプリケーションの WEB-INF ディレクトリにあります。ファイルの場所の詳細については、「Web サービス EAR ファイル パッケージ」を参照してください。
web-services.xml ファイルを更新して JMS 転送を指定するには、次の手順に従います。
JMS 転送を使用して WebLogic Web サービスを呼び出す方法は、「クライアント アプリケーションおよび WebLogic Server からの Web サービスの呼び出し」で説明した HTTP/S を使用する方法とほぼ同じですが、若干の相違があります。次に、その手順について説明します。
Web サービスの WSDL が更新され、JMS バインディングを使用するポートが追加されたので、clientgen Ant タスクによって、これらの JMS 固有 getPortXXX() メソッドを含む新しいスタブが自動的に作成されます。
詳細については「clientgen Ant タスクを実行してクライアント JAR ファイルを生成する」を参照してください。
WL_HOME/server/lib/wlclient.jarWL_HOME/server/lib/wljmsclient.jar
WL_HOME は、WebLogic Server のインストール ディレクトリです。
JMS クライアントの JAR ファイルの詳細については、『WebLogic JMS プログラマーズ ガイド』を参照してください。
clientgen Ant タスクにより生成された JAX-RPC Service クラスの新しい getPortXXX() メソッドを使用するように、クライアント アプリケーションを更新します。HTTP/S で使用する標準の getPortXXX() メソッドは getServiceNamePort() で、JMS 転送を使用する新しいメソッドは getServiceNamePortJMS() です。ServiceName は Web サービスの名前です。 これら 2 つの gerPortXXX() メソッドは、Web サービス用に生成された WSDL の 2 つのポート定義に対応します。「JMS 転送の使用の概要」を参照してください。次の簡単なクライアント アプリケーションの例では、HTTP/S 転送 (getMyservicePort() メソッド経由) と JMS 転送 (getMyServicePortJMS() メソッド経由) の両方を使用して、MyService Web サービスの postWorld オペレーションを呼び出す方法を説明します。
package examples.jms.client;
import java.io.IOException;
public class Main{
public static void main( String[] args ) throws Exception{
MyService service = new MyService_Impl();
{ // HTTP 転送を使用
MyServicePort port = service.getMyServicePort();
port.postWorld( "using HTTP" );
}
{ //JMS 転送を使用
MyServicePort port = service.getMyServicePortJMS();
port.postWorld( "using JMS" );
}
}
}
|
|
|