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

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

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

SOAP 1.2 の使い方

この章では、メッセージ フォーマットとしての SOAP 1.2 の使い方に関する情報を提供します。

 


SOAP 1.2 の使い方の概要

WebLogic Web サービスでは、クライアント アプリケーションが Web サービス オペレーションを呼び出すときに SOAP 1.1 がメッセージ フォーマットとしてデフォルトで使用されます。ただし、web-services.xml ファイルを更新し、クライアント スタブの生成時に clientgen で特定の属性を指定すれば、SOAP 1.2 をメッセージ フォーマットとして使用できます。

警告 :BEA の SOAP 1.2 は、W3C の草案仕様 (2002 年 6 月 26 日) に基づいて実装されています。この仕様はまだ W3C 勧告ではないため、BEA の現在の実装は変更される可能性があります。WebLogic Server のこのバージョンに組み込まれている SOAP 1.2 の機能は、開発環境でのみ使用することをお勧めします。

WebLogic Web サービスをコンフィグレーションし、メッセージ フォーマットとして SOAP 1.2 も使用する場合は以下のようになります。

 


WebLogic Web サービスでの SOAP 1.2 の指定 : 主な手順

次の手順では、ユーザが servicegen Ant タスクに精通し、Web サービスを更新して SOAP 1.2 をメッセージ フォーマットとして使用することを前提としています。servicegen の使い方の例については、「WebLogic Web サービスの作成 : 単純な例」を参照してください。

  1. 次の例に示すように、servicegen Ant タスクの呼び出しを含む build.xml ファイルを更新し、Web サービスをビルドする <service> 要素に useSOAP12="True" 属性を追加します。
      <servicegen
destEar="ears/myWebService.ear"
warName="myWAR.war"
contextURI="web_services" >
<service
ejbJar="jars/myEJB.jar"
targetNamespace="http://www.bea.com/examples/Trader"
serviceName="TraderService"
serviceURI="/TraderService"
generateTypes="True"
expandMethods="True"
useSOAP12="True" >
</service>
</servicegen>

注意 :servicegen を使用しない場合は、WebLogic Web サービスの web-services.xml ファイルを手動で更新できます。詳細については、「web-services.xml ファイルを手動で更新する」を参照してください。

  1. servicegen Ant タスクを再実行し、SOAP 1.2 を使用するために Web サービスを再生成します。
  2. servicegen Ant タスクの詳細については、「servicegen Ant タスクを指定するビルド ファイルの作成」を参照してください。

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

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

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

 


web-services.xml ファイルを手動で更新する

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

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

  1. 任意のエディタで、web-services.xml ファイルを開きます。
  2. Web サービスを記述する <web-service> 要素に useSOAP12="True" 属性を追加します。次に例を示します。
  3. <web-service
    name="myWebService"
    useSOAP12="True"
    ...>
    ...
    </web-service>

 


SOAP 1.2 を使用した Web サービスの呼び出し

クライアント アプリケーションを作成して SOAP 1.2 対応の WebLogic Web サービスを呼び出すには、最初に clientgen Ant タスクを使用し、通常どおり、生成されたスタブが組み込まれている Web サービス固有のクライアント JAR ファイルを生成します。この場合 clientgen Ant タスクでは、2 つの getPort() メソッドが格納されている JAX-RPC Service 実装が生成されます。1 つは SOAP 1.1 用の標準メソッド getServiceNamePort()、もう 1 つは SOAP 1.2 用のメソッド getServiceNamePortSoap12() です。ServiceName は Web サービスの名前です。これら 2 つの getPort() メソッドは、Web サービス用に生成された WSDL の 2 つのポート定義に対応します。「SOAP 1.2 の使い方の概要」を参照してください。

次の簡単なクライアント アプリケーションの例では、SOAP 1.1 (getMyservicePort() メソッド経由) と SOAP 1.2 (getMyServicePortSoap12() メソッド経由) の両方を使用して、MyService Web サービスの helloWorld オペレーションを呼び出す方法を説明します。

import java.io.IOException;
public class Main{
  public static void main( String[] args ) throws Exception{
    MyService service = new MyService_Impl();
    MyServicePort port = service.getMyServicePort();
System.out.println( port.helloWorld() );
    port = service.getMyServicePortSoap12();
System.out.println( port.helloWorld() );
}
}

 

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