ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server WebLogic Webサービス・リファレンス
11gリリース1 (10.3.6)
B61641-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

7 WebLogic Webサービス・デプロイメント記述子要素のリファレンス

この章では、WebLogic Webサービス・デプロイメント記述子ファイルweblogic-webservices.xmlに関する情報を提供します。

この章の内容は以下のとおりです。

weblogic-webservices.xmlの概要

Webサービスの標準Java EEデプロイメント記述子はwebservices.xmlです。このファイルは、WebLogic ServerにデプロイされるWebサービスのセット、およびコンテナ・リソースとその他のサービスに対する依存関係を指定します。このファイルの詳細は、WebサービスXMLスキーマ(http://java.sun.com/xml/ns/j2ee/j2ee_web_services_1_1.xsd)を参照してください。

標準のJava EE webservices.xmlデプロイメント記述子ファイルと同じ役割を持つWebLogicデプロイメント記述子ファイルがweblogic-webservices.xmlです。このファイルには、デプロイされたWebサービスの呼出しに使用するURLや、タイムアウト値などの構成設定など、WebLogic Webサービスに関するWebLogic固有の情報が格納されます。

この2つのデプロイメント記述子ファイルは、Webサービスを格納しているJava EEアーカイブの同じ場所にあります。具体的には、次のとおりです。

weblogic-webservices.xmlファイルの構造は、アーカイブ内に格納されているWebサービスをどのようにリストして識別するかという点でJava EE webservices.xmlファイルの構造と似ています。たとえば、どちらのファイルも、アーカイブ内の各Webサービスに対して、対応するルート要素(Java EE webservices.xmlファイルの場合は<webservices>weblogic-webservices.xmlファイルの場合は<weblogic-webservices>)の<webservice-description>子要素を持っています。

この節の説明は、情報提供のみを目的としています。通常、構成の更新は、管理コンソールまたはJWSアノテーションを使用して行います。どちらのデプロイメント記述子ファイルも直接編集する必要はありません。


注意:

weblogic-webservices.xmlファイルの2つの要素(login-configtransport-guarantee)のデータ型定義が、web.xmlファイルのJ2EEスキーマからインポートされます。この2つの要素とデータ型の詳細は、http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsdにある「サーブレット・デプロイメント記述子スキーマ」を参照してください。

グラフィカルな表現

以下の図では、weblogic-webservices.xmlデプロイメント記述子ファイルの要素の階層構造を示します。

図7-1 weblogic-webservices.xmlの要素階層

図7-1の説明が続きます
「図7-1 weblogic-webservices.xmlの要素階層」の説明

図7-2 weblogic-webservices.xmlの要素階層(続き)

図7-2の説明が続きます
「図7-2 weblogic-webservices.xmlの要素階層(続き)」の説明

XMLスキーマ

weblogic-webservices.xmlデプロイメント記述子を説明するXMLスキーマ・ファイルについては、http://xmlns.oracle.com/weblogic/weblogic-webservices/1.1/weblogic-webservices.xsdを参照してください。

weblogic-webservices.xmlデプロイメント記述子ファイルの例

以下に、単純なweblogic-webservices.xmlデプロイメント記述子の例を示します。

<?xml version='1.0' encoding='UTF-8'?>
<weblogic-webservices
   xmlns="http://xmlns.oracle.com/weblogic/weblogic-webservices">
  <webservice-description>
   <webservice-description-name>MyService</webservice-description-name>
    <port-component>
      <port-component-name>MyServiceServicePort</port-component-name>
      <service-endpoint-address>
        <webservice-contextpath>/MyService</webservice-contextpath>
        <webservice-serviceuri>/MyService</webservice-serviceuri>
      </service-endpoint-address>
      <wsat-config>
        <version>WSAT10</version>
        <flowType>SUPPORTS</flowType>
      </wsat-config>
      <reliability-config>
        <inactivity-timeout>P0DT600S</inactivity-timeout>
        <base-retransmission-interval>P0DT3S</base-retransmission-interval>
        <retransmission-exponential-backoff>true
        </retransmission-exponential-backoff>
        <acknowledgement-interval>P0DT3S</acknowledgement-interval>
        <sequence-expiration>P1D</sequence-expiration>
        <buffer-retry-count>3</buffer-retry-count>
        <buffer-retry-delay>P0DT5S</buffer-retry-delay>
      </reliability-config>
    </port-component>
  </webservice-description>
</weblogic-webservices>

要素の説明

次の項では、weblogic-webservices.xmlデプロイメント記述子ファイルの各要素について説明します。

acknowledgement-interval

<reliability-config>要素の<acknowledgement-interval>子要素は、宛先エンドポイントがスタンドアロンの確認応答を送信しなければならない最大間隔を指定します。

宛先エンドポイントは、ソース・エンドポイントからメッセージを受信した直後に、返されたメッセージに対する確認応答を送信できます。また、スタンドアロンの確認応答として個別に確認応答を送信することもできます。返されたメッセージに対して確認応答を送信できない場合、宛先エンドポイントは、スタンドアロンの確認応答を送信するまで、確認応答の間隔に設定した時間範囲内で待機することがあります。未確認メッセージがない場合、宛先エンドポイントは確認応答を送信しない可能性があります。

この値は、次のようなXMLスキーマの期間を表す字句形式に従った正の値でなければなりません。

PYMDTHS

次の表では、期間形式フィールドについて説明します。

表7-1 期間形式の説明

フィールド 説明

nY

年数(n)

nM

月数(n)

nD

日数(n)

T

日付/時刻のセパレータ

nH

時間数(n).

nM

分数(n).

nS

秒数(n)


この値のデフォルトはP0DT3S (3秒)です。

base-retransmission-interval

<reliability-config>要素の<base-retransmission-interval>子要素は、RM宛先にメッセージの再送信を行うまでの時間間隔を指定します。

ソース・エンドポイントが、指定した間隔内で所定のメッセージの確認応答を受信しなかった場合、ソース・エンドポイントはメッセージを再送信します。ソース・エンドポイントは、メッセージのシーケンスの存続期間内の任意の時点で、この再送信間隔を変更することがあります。

この要素を<retransmission-exponential-backoff>要素と組み合せて使用すると、再送信間隔を調整するアルゴリズムを指定できます。

この値は、次のようなXMLスキーマの期間を表す字句形式に従った正の値でなければなりません。

PYMDTHS

期間の形式については、「表7-1」を参照してください。この値のデフォルトはP0DT3S(3秒)です。

buffer-retry-count

<reliability-config>要素の<buffer-retry-count>子要素は、宛先のWebLogic ServerインスタンスのJMSキューが、信頼性のある操作を呼び出すクライアントからWebサービスの実装にメッセージを配信する際の再試行回数を指定します。この値のデフォルトは3です。

buffer-retry-delay

<reliability-config>要素の<buffer-retry-delay>子要素は、メッセージ配信の再試行間隔を指定します。再試行間隔は、JMSキューにあるクライアントのリクエスト・メッセージとWebサービスの実装へのメッセージ配信までの間隔。

この値は、次のようなXMLスキーマの期間を表す字句形式に従った正の値でなければなりません。

PYMDTHS

期間の形式については、「表7-1」を参照してください。この値のデフォルトはP0DT5S(5秒)です。

callback-protocol

<port-component>要素の<callback-protocol>子要素は、イベントをクライアントに通知するコールバックに使用されるプロトコルを指定します。有効な値は、httphttps、またはjmsです。

deployment-listener-list

内部使用のみに対応しています。

deployment-listener

内部使用のみに対応しています。

exposed

<wsdl>要素の<exposed>子要素は、Webサービスのデプロイ時にWSDLをパブリックに公開するかどうかを示すブール属性です。

flowType

<wsat-config>要素の<flowtype>子要素は、Webサービス原子性トランザクション調整コンテキストがトランザクション・フローとともに渡されるかどうかを指定します。

有効な値は、NEVERSUPPORTSおよびMANDATORYです。デフォルト値はSUPPORTSです。これらの値とその意味、および@TransactionAttributeアノテーションを使用するEJB型のWebサービスに対してWebサービス原子性トランザクションを構成する際の有効な値の組合せの詳細は、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWebサービスに対するWebサービス原子性トランザクションの有効化に関する項でフロー・タイプの値をまとめた表を参照してください。

Webサービス原子性トランザクションの詳細は、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWebサービス原子性トランザクションの使用に関する項を参照してください。

http-flush-response

<port-component>要素の<http-flush-response>子要素は、信頼性のあるレスポンスをフラッシュするかどうかを指定します。この値のデフォルトはtrueです。

http-response-buffersize

<port-component>要素の<http-response-buffersize>子要素は、サーバーでのリクエストのキャッシュに使用される信頼性のあるレスポンス・バッファのサイズを指定します。この値のデフォルトは0です。

login-config

<j2ee:login-config>要素は、使用する認証方式、このアプリケーションで使用されるレルムの名前、およびフォームによるログイン機能で必要になる属性を指定します。

<j2ee:login-config>要素のXMLスキーマ・データ型は<j2ee:login-configType>で、標準web.xmlデプロイメント記述子を記述するJava EEスキーマで定義されます。詳細なリファレンス情報については、「http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd」を参照してください。

inactivity-timeout

<reliability-config>要素の<inactivity-timeout>子要素は、非アクティブ間隔を指定します。指定した間隔で、エンドポイント(RM送信元とRM宛先)がアプリケーションのメッセージまたは制御メッセージを受け取らなければ、エンドポイントはRMシーケンスが非アクティブなため終了したものと見なす場合があります。

この値は、次のようなXMLスキーマの期間を表す字句形式に従った正の値でなければなりません。

PnYnMnDTnHnMnS

期間の形式については、「表7-1」を参照してください。この値のデフォルトはP0DT600S(600秒)です。

mbean-name

<webservice-security>要素の<mbean-name>子要素は、デプロイメント記述子ファイルで記述されているWebサービスに関連付けられたWebサービス・セキュリティ構成(WebserviceSecurityMBeanをインスタンス化したもの)の名前を指定します。デフォルト構成名はdefault_wssです。

関連付けられたセキュリティ構成では、IDの認証にX.509証明書を使用するかどうか、パスワード・ダイジェストを使用するかどうか、暗号化やデジタル署名にキーストアを使用するかどうかなどを指定します。

Webサービスを問題なく呼び出すことができるようにするには、管理コンソールであらかじめセキュリティ構成(デフォルト構成も含む)を作成しておく必要があります。


注意:

この要素で記述されるWebサービス・セキュリティ構成は、weblogic-webservices.xmlファイルに格納されているすべてのWebサービスに適用されます。jwsc Antタスクは、必ず専用のJARまたはWARファイルにWebサービスをパッケージ化するので、常にjwsc Antタスクを使用してWebサービスを生成する場合、この制限は問題となりません。ただし、weblogic-webservices.xmlデプロイメント記述子を手動で更新してWebサービスの記述を追加する場合、サービスによって異なるセキュリティ構成を関連付けることはできません。

name

<operation>要素の<name>子要素は、Webサービス操作の名前を定義します。

operation

<operation>要素は、Webサービス操作の特性を定義します。<operation>要素の子要素は、Webサービス操作の名前および構成オプションを定義します。

port-component

<port-component>要素は、Webサービスのポートの記述に使用する他の要素のホルダーです。<port-component>要素の子要素では、WebLogic ServerにデプロイされたWebサービスの呼出しに使用するコンテキスト・パスおよびサービスURIなど、WebサービスのポートのWebLogic固有の特性を指定します。

port-component-name

<port-component>要素の<port-component-name>子要素は、WSDLポートの内部名を指定します。この要素の値は、単一のweblogic-webservices.xmlファイル内にあるすべての<port-component-name>要素に対して一意のものである必要があります。

reliability-config

<reliability-config>要素は、信頼性のあるメッセージングの構成要素をグループ化します。<reliability-config>要素の子要素は、信頼性のあるメッセージングの再送信間隔やタイムアウト間隔など、実行時構成値を指定します。

retransmission-exponential-backoff

<reliability-config>要素の<retransmission-exponential-backoff>子要素は、メッセージの再送信の間隔を、指数関数的なバックオフ・アルゴリズムを使用して調整するかどうかを指定するブール属性です。

この要素は、<base-retransmission-interval>と一緒に使用します。宛先エンドポイントが、<base-retransmission-interval>で指定した時間間隔でメッセージのシーケンスを確認応答しなかった場合、メッセージが引続き確認されなければ、連続再送信のタイミングに対して、ソース・エンドポイントは指数関数的なバックオフ・アルゴリズムを使用します。

指数関数的なバックオフ・アルゴリズムは、連続再送信の間隔が、基本の再送信間隔を基に指数的に増えるように指定します。たとえば、基本の再送信間隔が2秒で、指数関数的なバックオフ要素が設定されている場合、連続再送信の間隔は、メッセージが確認されなければ、2、4、8、16、32秒というように増えていきます。

デフォルト値はfalseであり、連続再送信の間隔は指数的に増えず、同じ値が維持されます。

sequence-expiration

<reliability-config>要素の<sequence-expiration>子要素は、アクティビティにかかわらず、シーケンスが期限切れになるまでの時間を指定します。

この値は、次のようなXMLスキーマの期間を表す字句形式に従った正の値でなければなりません。

PnYnMnDTnHnMS

期間の形式については、「表7-1」を参照してください。この値のデフォルトはP1D(1日)です。

service-endpoint-address

<service-endpoint-address>要素は、Webサービス・エンドポイントのアドレスを構成するWebLogic固有のコンテキスト・パスとサービスURIの値、またはWebLogic ServerにデプロイされたWebサービスを呼び出すURLをグループ化します。

これらの値は、<webservice-contextpath>子要素および<webservice-serviceuri>子要素で指定します。

stream-attachments

<port-component>要素の<stream-attachments>子要素は、WebLogic Webサービス・ランタイムで、Webサービスのすべてのメソッド・パラメータを読み取る際にStreaming APIを使用するかどうかを指定するブール値です。これによって、特に画像のようにパラメータが大きい場合に、Webサービス操作の呼出しのパフォーマンスが向上します。

同じWebサービスで次の機能も使用している場合、このアノテーションは使用できません。

  • 会話

  • 信頼性のあるメッセージング

  • JMSトランスポート

  • クライアント・アプリケーションと呼出し対象のWebサービスとの間のプロキシ・サーバー

transport-guarantee

j2ee:transport-guarantee要素は、Webサービスを呼び出すクライアント・アプリケーションとWebLogic Serverとの間の通信のタイプを指定します。

この要素の値はNONE、INTEGRAL、CONFIDENTIALのいずれかです。NONEは、アプリケーションがトランスポートの保証を必要としていないことを示します。INTEGRALは、クライアントとサーバーの間で、転送中にデータが変更されない方法でデータを転送する必要があることを示します。CONFIDENTIALは、転送中にデータの中味を覗かれないようにデータを転送する必要があることを示します。ほとんどの場合、INTEGRALフラグまたはCONFIDENTIALフラグは、SSLを使用する必要があることを示します。

j2ee:transport-guarantee要素のXMLスキーマ・データ型はj2ee:transport-guaranteeTypeで、標準web.xmlデプロイメント記述子を記述するJava EEスキーマで定義されます。詳細なリファレンス情報については、「http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd」を参照してください。

transaction-timeout

<port-component>要素の<transaction-timeout>子要素は、Webサービス操作がトランザクションの一部として実行されている場合に、現在のトランザクションのタイムアウト値を指定します。

この値は、次のようなXMLスキーマの期間を表す字句形式に従った正の値でなければなりません。

PnYnMnDTnHnMnS

期間の形式については、「表7-1」を参照してください。この値のデフォルトはP0DT3S(3秒)です。

この値のデフォルトは30秒です。

validate-request

<port-component>要素の<validate-request>子要素は、信頼性のあるリクエストを検証するかどうかを指定するブール値です。

この値は、次のようなXMLスキーマの期間を表す字句形式に従った正の値でなければなりません。

PnYnMnDTnHnMnS

期間の形式については、「表7-1」を参照してください。この値のデフォルトはP0DT3S(3秒)です。

version

<wsat-config>要素の<version>子要素は、Webサービスおよびクライアントに対して使用されるWebサービス原子性トランザクション調整コンテキストのバージョンを指定します。クライアントの場合、アウトバウンド・メッセージに使用されるバージョンのみを指定します。指定した値は、トランザクション全体で一致している必要があります。

有効な値は、WSAT10WSAT11WSAT12およびDEFAULTです。WebサービスのDEFAULT値は、(インバウンド・リクエストで起動された)3つのバージョンすべてです。Webサービス・クライアントのDEFAULT値はWSAT10です。

Webサービス原子性トランザクションの詳細は、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWebサービス原子性トランザクションの使用に関する項を参照してください。

weblogic-webservices

<weblogic-webservices>要素は、WebLogic固有のWebサービス・デプロイメント記述子(weblogic-webservices.xml)のルート要素です。

この要素は、Java EEコンポーネント・アーカイブに格納されているWebサービスのセットを指定します(このアーカイブにはデプロイメント記述子も格納されています)。アーカイブは、EJB JARファイル(ステートレス・セッションEJB実装Webサービスの場合)またはWARファイル(Javaクラス実装Webサービスの場合)です。

webservice-contextpath

<webservice-contextpath>要素は、Webサービスの呼出しに使用するURLのコンテキスト・パス部分を指定します。WebLogic ServerにデプロイされたWebサービスを呼び出すURLは次のとおりです。

http://host:port/contextPath/serviceURI

説明:

  • hostは、WebLogic Serverが動作しているホスト・コンピュータです。

  • portは、WebLogic Serverがリスニングしているポートのアドレスです。

  • contextPathは、この要素の値です。

  • serviceURIは、 webservice-serviceuri要素の値です。

jwsc Antタスクを使用してJWSファイルからWebサービスを生成する場合、<webservice-contextpath>要素の値は、WebLogic固有の@WLHttpTransportアノテーション、またはjwsc<WLHttpTransport>子要素のcontextPath属性から取得されます。

webservice-description

<webservice-description>要素は、Webサービスの記述に使用する他の要素のホルダーです。<webservice-description>要素は、WSDLドキュメントで定義されたWSDLポートに関連付けられているポート・コンポーネントのセット(1つ以上の<port-component>子要素で指定)を定義します。

1つのweblogic-webservices.xmlファイル内に、アーカイブ内の特定のステートレス・セッションEJBまたはJavaクラスに対応する複数の<webservice-description>要素が定義されている場合がありますが、ステートレス・セッションEJBに対応しているかJavaクラスに対応しているかは、Webサービスの実装によって決まります。つまり、EJB JARにはWebサービスを実装するEJB、WARファイルにはJavaクラスが格納されています。

webservice-description-name

<webservice-description-name>要素は、Webサービスの内部名を指定します。この要素の値は、単一のweblogic-webservices.xmlファイル内にあるすべての<webservice-description-name>要素に対して一意なものである必要があります。

webservice-security

weblogic-webservices.xmlデプロイメント記述子の要素のうち、セキュリティに関連するものをすべてグループ化するための要素です。

webservice-serviceuri

<webservice-serviceuri>要素は、Webサービスの呼出しに使用するURLのWebサービスURI部分を指定します。WebLogic ServerにデプロイされたWebサービスを呼び出すURLは次のとおりです。

http://host:port/contextPath/serviceURI

説明:

  • hostは、WebLogic Serverが動作しているホスト・コンピュータです。

  • portは、WebLogic Serverがリスニングしているポートのアドレスです。

  • contextPathは、 webservice-contextpath要素の値です。

  • serviceURIは、この要素の値です。

jwsc Antタスクを使用してJWSファイルからWebサービスを生成する場合、<webservice-serviceuri>要素の値は、WebLogic固有の@WLHttpTransportアノテーション、またはjwsc<WLHttpTransport>子要素のserviceURI属性から取得されます。

webservice-type

<webservice-type>要素は、WebサービスがJAX-WS標準に基づくか、JAX-RPC標準に基づくかを指定します。有効な値は、JAXWSおよびJAXRPCです。この値のデフォルトはJAXRPCです。

wsat-config

<wsat-config>要素は、クラス・レベルまたは同期メソッド・レベルでWebサービス原子性トランザクションの構成を有効化し、構成します。<wsat-config>要素の子要素は、サポートされているWS-AtomicTransactionのバージョン、およびWebサービス原子性トランザクション調整コンテキストがトランザクション・フローとともに渡されるかどうかを指定します。

Webサービス原子性トランザクションの詳細は、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWebサービス原子性トランザクションの使用に関する項を参照してください。

wsdl

weblogic-webservices.xmlデプロイメント記述子の要素のうち、WSDLに関連するものをすべてグループ化するための要素です。

wsdl-publish-file

<wsdl-publish-file>要素は、HTTPを介してアクセス可能な標準WSDLファイルに加え、デプロイされたWebサービスのWSDLファイルのハード・コピーのパブリッシュ先となるディレクトリ(Webサービスをホストしているコンピュータ上にあります)を指定します。

たとえば、WebサービスがEJBで実装され、WSDLファイルがJARのルートを基準にしたEJB JARファイルの次のディレクトリにあるとします。

META-INF/wsdl/a/b/Fool.wsdl

さらに、weblogic-webservices.xmlファイルに、指定したWebサービスの次の要素が含まれているとします。

<wsdl-publish-file>d:/bar</wsdl-publish-file>

この場合、WebLogic Serverは、Webサービスをデプロイしたときに、標準のHTTPの場所にWSDLファイルをパブリッシュするとともに、サービスが実行されているコンピュータの次のディレクトリにWSDLファイルのコピーを格納します。

d:/bar/a/b/Foo.wsdl

注意:

この要素は、Webサービスを呼び出すクライアント・アプリケーションがローカル・ファイル・システムまたはFTPでWSDLにアクセスする必要がある場合にのみ指定します。『Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスのWSDLの参照に関する項で説明しているように、クライアント・アプリケーションは通常、HTTPを使用してWSDLにアクセスします。

この要素の値には、ディレクトリのフルパス名を指定する必要があります。このディレクトリは、WebサービスをデプロイするWebLogic Serverインスタンスまたはクラスタをホストしているすべてのマシンに存在している必要があります。