ナビゲーションをスキップ

WebLogic Web サービス プログラマーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

JMS 転送を使用した WebLogic Web サービスの呼び出し

この章では、WebLogic Web サービスの呼び出しに JMS 転送を使う方法に関する情報を提供します。

 


JMS 転送の使用の概要

クライアント アプリケーションから WebLogic Web サービスを呼び出すときは、デフォルトの接続プロトコルとして HTTP/S が使用されます。しかし、それ以外に、クライアント アプリケーションからの WebLogic Web サービスの呼び出しに JMS も使用するように、Web サービスをコンフィグレーションすることができます。

接続転送として JMS も使用するように WebLogic Web サービスをコンフィグレーションすると、以下のものが追加されます。

注意 :任意の WebLogic Web サービスをコンフィグレーションしてその WSDL に JMS バインディングを含めることができます。この機能は、JMS で実装された WebLogic Web サービスとは関係ありません。

 


WebLogic Web サービスでの JMS 転送の指定 : 主な手順

次の手順では、servicegen Ant タスクに精通していることと、JMS 転送を使用するように Web サービスを更新する必要があることを前提にしています。servicegen の使い方の例については、「WebLogic Web サービスの作成 : 単純な例」を参照してください。

以下の手順では、JMS リソースのコンフィグレーションに Administration Console を使用します。

  1. WebLogic Web サービスの管理の概要」に従って、ブラウザで Administration Console を起動します。
  2. Administration Console を使用して、以下の WebLogic Server の JMS コンポーネントを作成 (既存でない場合) およびコンフィグレーションします。
  3. これらのコンポーネントの作成については、「JMS : コンフィグレーション」を参照してください。

  4. WebLogic Web サービスの web-services.xml ファイルを更新して、生成される WSDL に JMS バインディングが含まれるように指定します。
  5. web-services.xml ファイルを更新して JMS 転送を指定する」を参照してください。

  6. Web サービスを再デプロイします。

Web サービスを呼び出す Java クライアント アプリケーションの記述の詳細については、「JMS 転送を使用した Web サービスの呼び出し」を参照してください。

 


web-services.xml ファイルを更新して JMS 転送を指定する

web-services.xml ファイルは、Web サービス EAR ファイルにある Web アプリケーションの WEB-INF ディレクトリにあります。ファイルの場所の詳細については、「Web サービス EAR ファイル パッケージ」を参照してください。

web-services.xml ファイルを更新して JMS 転送を指定するには、次の手順に従います。

  1. 任意のエディタで、web-services.xml ファイルを開きます。
  2. 対象の Web サービスを記述する <web-service> 要素に jmsUri 属性を追加し、次の値を設定します。
  3. connection-factory-name/queue-name 

    connection-factory-namequeue-name は、それぞれ事前に作成した JMS 接続ファクトリと JMS キューの JNDI 名です。次に例を示します。

    <web-service
    name="myJMSTransportWebService"
    jmsUri="JMSTransportFactory/JMSTransportQueue"
    ...>
    ...
    </web-service>

 


JMS 転送を使用した Web サービスの呼び出し

JMS 転送を使用して WebLogic Web サービスを呼び出す方法は、「クライアント アプリケーションおよび WebLogic Server からの Web サービスの呼び出し」で説明した HTTP/S を使用する方法とほぼ同じですが、若干の相違があります。次に、その手順について説明します。

  1. clientgen Ant タスクを再実行します。
  2. Web サービスの WSDL が更新され、JMS バインディングを使用するポートが追加されたので、clientgen Ant タスクによって、これらの JMS 固有 getPortXXX() メソッドを含む新しいスタブが自動的に作成されます。

    詳細については「clientgen Ant タスクを実行してクライアント JAR ファイルを生成する」を参照してください。

  3. 次のようにクライアント アプリケーションの CLASSPATH を更新し、標準の JMS クライアント JAR ファイルを含めます。
  4. WL_HOME/server/lib/wlclient.jar
    WL_HOME/server/lib/wljmsclient.jar

    WL_HOME は、WebLogic Server のインストール ディレクトリです。

    JMS クライアントの JAR ファイルの詳細については、『WebLogic JMS プログラマーズ ガイド』を参照してください。

  5. clientgen Ant タスクにより生成された JAX-RPC Service クラスの新しい getPortXXX() メソッドを使用するように、クライアント アプリケーションを更新します。HTTP/S で使用する標準の getPortXXX() メソッドは getServiceNamePort() で、JMS 転送を使用する新しいメソッドは getServiceNamePortJMS() です。ServiceName は Web サービスの名前です。 これら 2 つの gerPortXXX() メソッドは、Web サービス用に生成された WSDL の 2 つのポート定義に対応します。「JMS 転送の使用の概要」を参照してください。
  6. 次の簡単なクライアント アプリケーションの例では、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" );
    }
    }
    }

 

フッタのナビゲーションのスキップ  ページの先頭 前 次