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()
メソッドは get
ServiceName
Port()
で、JMS 転送を使用する新しいメソッドは get
ServiceName
PortJMS()
です。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" );
}
}
}
![]() ![]() |
![]() |
![]() |