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

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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

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

 


weblogic-webservices.xml の概要

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

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

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

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

通常、どちらのデプロイメント記述子ファイルも、Web サービスを実装する JWS ファイルの JWS アノテーションの値を基に jwsc Ant タスクが自動的に生成するので、ユーザがファイルを更新する必要はありません。そのため、このセクションは参照用にのみパブリッシュされます。

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

 


グラフィカルな表現

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

図 13-3 weblogic-webservices.xml の要素階層

weblogic-webservices.xml の要素階層 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素 icon 要素

 


XML スキーマ

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

 


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

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

<?xml version='1.0' encoding='UTF-8'?>
<weblogic-webservices xmlns="http://www.bea.com/ns/weblogic/90">
  <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>
</port-component>
</webservice-description>
</weblogic-webservices>

 


要素の説明

deployment-listener-list

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

deployment-listener

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

exposed

Web サービスのデプロイ時に WSDL をパブリックにエクスポーズするかどうかを示すブール属性です。

login-config

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

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

mbean-name

デプロイメント記述子ファイルで記述されている Web サービスに関連付けられた Web サービス セキュリティ コンフィグレーション (WebserviceSecurityMBean をインスタンス化したもの) の名前を指定します。デフォルト コンフィグレーション名は default_wss です。

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

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

注意 : この要素で記述される Web サービス セキュリティ コンフィグレーションは、weblogic-webservices.xml ファイルに格納されているすべての Web サービスに提供されます。jwsc Ant タスクは、必ず独自の JAR または WAR ファイルに Web サービスをパッケージ化するので、常に jwsc Ant タスクを使用して Web サービスを生成する場合、この制限は問題となりません。ただし、weblogic-webservices.xml デプロイメント記述子を手動で更新し、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> 要素に対してユニークなものである必要があります。

service-endpoint-address

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

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

注意 : Web サービスのデプロイメント時に、weblogic-webservices.xml ファイル内の <webservice-contextpath> 要素および <webserivce-serviceuri> 要素の値を変更しても、<service-endpoint-address> の値は変更されません。デプロイメント時にコンテキスト パスおよびサービス URI を変更する必要がある場合は、次の要素に値を設定します。

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 デプロイメント記述子を記述する J2EE スキーマで定義されます。完全なリファレンス情報については、http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd を参照してください。

weblogic-webservices

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

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

webservice-contextpath

<webservice-contextpath> 要素は、Web サービスの呼び出しに使用する URL のコンテキスト パス部分を指定します。

WebLogic Server にデプロイされた Web サービスを呼び出す URL は次のとおりです。

http://host:port/contextPath/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

各値の説明は次のとおりです。

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

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 にアクセスする必要がある場合にのみ指定します。通常、「Web サービスの WSDL の参照」で説明しているように、クライアント アプリケーションは HTTP を使用して WSDL にアクセスします。

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


  ページの先頭       前  次