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

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

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

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

この章では、異なる形式を使用して web-services.xml ファイルについて説明します。

 


web-services.xml の概要

web-services.xml デプロイメント記述子ファイルには、1 つまたは複数の WebLogic Web サービスを記述する情報が入っています。この情報には、Web サービスのオペレーションを実装するバックエンド コンポーネント、パラメータおよび戻り値として使用される非組み込みデータ型、SOAP メッセージをインターセプトする SOAP メッセージ ハンドラなどの詳細情報が含まれます。他のすべてのデプロイメント記述子の場合と同様に、web-services.xml も XML ファイルです。

 


階層図

次の図は、web-services.xml 要素の階層を示しています。

図 22-1 web-services.xml の要素階層

web-services.xml の要素階層 application 要素 icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素


 

web-services.xml 要素階層図 (続き) small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素


 

web-services.xml 要素階層図 (続き) small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素


 

 


要素について

アルファベット順に構成された以降の節では、web-services.xml ファイルの各要素を説明します。

さまざまなタイプの WebLogic Web サービス用の Web サービス デプロイメント記述子ファイルのサンプルについては、「異なるタイプの web-services.xml ファイルの調査」を参照してください。

clock-precision

Web サービスを呼び出すクライアント アプリケーションと WebLogic Server のクロックの同期の精度を記述します。WebLogic Server は、この値を使用して 2 つのクロック間のスキューの妥当なレベルを計算します。

この値は、ミリ秒単位で指定します。たとえば、クロックの精度が 1 分以内である場合、この要素の値は 60000 です。

この要素の値が SOAP リクエストの有効期限を上回る場合、クライアント アプリケーションは有効期限を正確に適用できないのでこのリクエストを拒否します。たとえば、クロック精度値が 60000 ミリ秒で、WebLogic Server が受信する SOAP メッセージの有効期限が 30000 ミリ秒の場合、60000 ミリ秒のクロック精度との不一致のため、メッセージの存続期間が 30000 ミリ秒を超える可能性があります。このため、WebLogic Server はメッセージを拒否します。この厳しい指定を緩めるには、<enforce-precision> 要素を false に設定します。詳細については、「enforce-precision」を参照してください。

この要素は、<clocks-synchronized> と一緒に指定する必要があります。

この要素のデフォルト値は 60000 です。

この要素は、属性を持ちません。 この要素は、<timestamp> の子要素です。

clocks-synchronized

WebLogic Server が SOAP メッセージのタイムスタンプを処理するときに、Web サービスを呼び出すクライアント アプリケーションのクロックと WebLogic Server のクロックが同期していると見なすかどうかを指定します。

このプロパティの値が true の場合、WebLogic Server は、WebLogic Web サービスを呼び出すクライアント アプリケーションからの SOAP リクエストの有効期限を (存在する場合は) 適用します。このため、タイム スタンプが期限切れになった場合、WebLogic Server は Web サービス オペレーションを呼び出しません。false の場合、WebLogic Server は有効期限が指定されている SOAP リクエストをすべて拒否します。

この要素の有効な値は、True および False です。デフォルト値は false です。

この要素は、属性を持ちません。この要素は、<timestamp> の子要素です。

components

Web サービスを実装するバックエンド コンポーネントを定義します。

WebLogic Web サービスは、以下の 1 つまたは複数のコンポーネントを使用して実装できます。

この要素には属性はありません。

ejb-link

EJB JAR ファイル内のどの EJB を使用してステートレス セッション EJB バックエンド コンポーネントを実装するかを指定します。

表 A-1 <ejb-link> 要素の属性

属性

説明

データ型

必須/任意

path

次の形式の EJB の名前。

jar-name#ejb-name

jar-name は、ステートレス セッション EJB を含んでいる JAR ファイル (Web サービス EAR ファイル内に含まれている) の名前を指す。名前には、最上位の EAR ファイルへの相対パス名が含まれている必要がある。

ejb-name は、EJB JAR ファイル内の ejb-jar.xml デプロイメント記述子内の <ejb-name> 要素に対応するステートレス セッション EJB の名前を指す。

例 : myapp.jar#StockQuoteBean

String

必須

encryptionKey

SOAP メッセージの要素を暗号化する際に使用するキー ペアと証明書の名前およびパスワードを指定します。名前は <name> 下位要素で、パスワードは <password> 下位要素で指定します。

注意 : Administration Console でキーと証明書のペアを WebLogic Server キーストアに作成してください。詳細については、「プライベート キー、デジタル証明書、信頼性のある認証局の格納」を参照してください。

この要素は、属性を持ちません。

enforce-precision

クロック精度期間を適用するかどうかを指定します。

この要素を false に設定した場合、WebLogic Server は、<clock-precision> 要素で指定したクロック精度期間より有効期限が短い SOAP リクエストを拒否しません。デフォルトでは、WebLogic Server はこれらの SOAP 応答を拒否します。これは、クライアント アプリケーションと WebLogic Server 間のクロック精度の不一致のため、WebLogic Server はメッセージが期限切れになったかどうかを判断できないからです。

この要素の有効な値は、True および False です。デフォルト値は true です。

この要素は、属性を持ちません。この要素は、<timestamp> の子要素です。

fault

このオペレーションの呼び出しでエラーが発生した場合に送出される SOAP 障害を指定します。

この要素は必須ではありません。

表 A-2 <fault> 要素の属性

属性

説明

データ型

必須/任意

class-name

SOAP ハンドラを実装する完全修飾 Java クラス。

String

必須

name

パラメータの名前。

String

必須

generate-signature-timestamp

WebLogic Server が WebLogic Web サービス オペレーションを呼び出したクライアント アプリケーションへの SOAP 応答にタイムスタンプを追加するかどうかを指定します。

この要素の有効な値は、True および False です。デフォルト値は true です。

この要素は、属性を持ちません。この要素は、<timestamp> の子要素です。

handler

ハンドラ チェーン内の SOAP メッセージ ハンドラを指定します。1 つのハンドラ チェーンは 1 つまたは複数のハンドラで構成できます。

ハンドラを実装する Java クラスに初期化パラメータが必要な場合は、<handler> 要素の <init-params> 子要素を任意に使用してパラメータを指定します。

表 A-3 <handler> 要素の属性

属性

説明

データ型

必須/任意

class-name

SOAP メッセージ ハンドラを実装する完全修飾 Java クラス。

String

必須

handler-chain

特定のハンドラ チェーンを構成する SOAP メッセージ ハンドラをリストします。1 つの WebLogic Web サービスでは、任意数のハンドラ チェーンを定義できます (0 でもかまわない)。

ハンドラ (<handler> 子要素により定義される) がリストされる順番は重要です。デフォルトでは、ハンドラの handleRequest() メソッドは、<handler-chain> 要素の子要素としてリストされている順に実行されます。ハンドラの handleResponse() メソッドは、リストされているものとは逆の順序で実行されます。

表 A-4 <handler-chain> 要素の属性

属性

説明

データ型

必須/任意

name

このハンドラ チェーンの名前。

String

必須

handler-chains

この web-services.xml ファイルで記述された Web サービスに使用されている SOAP メッセージ ハンドラ チェーンを記述する <handler-chain> 要素のリストを含んでいます。1 つの WebLogic Web サービスでは、任意数のハンドラ チェーンを定義できます (0 でもかまわない)。

この要素は、属性を持ちません。

inbound-expiry

Web サービスを呼び出すクライアント アプリケーションからの SOAP リクエストに対する WebLogic Server 側の有効期限をミリ秒単位で指定します。WebLogic Server は、この要素の値を SOAP リクエストのタイム スタンプの作成日に加算し、クロック精度を計算して、結果を現在の時刻と比較します。結果が現在時刻より大きい場合、WebLogic Server は呼び出しを拒否します。

SOAP リクエストの独自の有効期限に加え、WebLogic Server はクライアント アプリケーション側で指定された SOAP リクエスト メッセージ自体の有効期限も考慮します。

有効期限を指定しない場合は、この要素を -1 に設定します。

この要素のデフォルト値は -1 です。

この要素を設定する場合、<clocks-synchronized> 要素を true に設定して、WebLogic Server とクライアント アプリケーションのクロックが同期されていることを指定する必要があります。

init-param

ハンドラの初期化パラメータのうちの 1 つを表す名前と値の組み合わせを指定します。

表 A-5 <init-param> 要素の属性

属性

説明

データ型

必須/任意

name

パラメータの名前。

String

必須

value

パラメータの値。

String

必須

init-params

ハンドラを実装する Java クラスに受け渡される初期化パラメータのリストを含んでいます。

この要素は、属性を持ちません。

java-class

Web サービスの 1 つまたは複数のオペレーションを実装する Java クラス コンポーネントを記述します。

表 A-6 <java-class> 要素の属性

属性

説明

データ型

必須/省略可能

class-name

このコンポーネントを実装する Java クラスの完全修飾名。

String

必須

name

このコンポーネントの名前。

String

必須

jms-receive-queue

Web サービス内のオペレーションのうちの 1 つが JMS キューにマップされることを指定します。この要素は、JMS キューからデータを受信する Web サービス オペレーションの指定に使用されます。

通常は、メッセージ プロデューサがメッセージを特定の JMS キューに入れ、この Web サービス オペレーションを呼び出すクライアントがポーリングを行ってメッセージを受信します。

表 A-7 <jms-receive-queue> 要素の属性

属性

説明

データ型

必須/任意

connection-factory

WebLogic Server が JMS 接続オブジェクトの作成に使用する JMS 接続ファクトリの JNDI 名。

String

必須

initial-context-factory

WebLogic Server 以外の JMS 実装のためのコンテキスト ファクトリ。

String

任意

name

このコンポーネントの名前。

String

必須

provider-url

WebLogic Server 以外の JMS 実装への接続に使用される URL。

String

任意

jms-send-destination

Web サービス内のオペレーションのうちの 1 つが JMS キューにマップされることを指定します。この要素は、JMS キューにデータを送信する Web サービス オペレーションの指定に使用されます。

通常は、メッセージが JMS 送り先に送信された後に、メッセージ コンシューマ (メッセージ駆動型 Bean など) がそのメッセージを使用します。

表 A-8 <jms-send-destination> 要素の属性

属性

説明

データ型

必須/任意

connection-factory

WebLogic Server が JMS 接続オブジェクトの作成に使用する JMS 接続ファクトリの JNDI 名。

String

必須

initial-context-factory

WebLogic Server 以外の JMS 実装のためのコンテキスト ファクトリ。

String

任意

name

このコンポーネントの名前。

String

必須

provider-url

WebLogic Server 以外の JMS 実装への接続に使用される URL。

String

任意

jndi-name

JNDI ツリーにバインドされているオブジェクトへの参照を指定します。参照の対象は、ステートレス セッション EJB または JMS 送り先になります。

表 A-9 <jndi-name> 要素の属性

属性

説明

データ型

必須/任意

path

JNDI コンテキスト ルートからオブジェクトへのパス名。

String

必須

name

<name> 要素は、親要素に応じて以下の名前を指定します。

この要素は、属性を持ちません。

operation

Web サービスの 1 つのオペレーションをコンフィグレーションします。この要素の属性の値と組み合わせによって、次の種類のオペレーションをコンフィグレーションできます。

オペレーションのパラメータと戻り値を明示的に指定するには、<params> 子要素を使用します。

表 A-10 <operation> 要素の属性

属性

説明

データ型

必須/任意

component

このオペレーションを実装するコンポーネントの名前。

この属性の値は、該当する <component> 要素の name 属性に対応する。

String

省略可能

handler-chain

このオペレーションを実装する SOAP メッセージ ハンドラ チェーンの名前。

この属性を component および method 属性と一緒に指定すると、オペレーションはメソッドとハンドラ チェーンの両方で実装される。ただし、component および method 属性を指定せずに、handler-chain だけを指定した場合、オペレーションは SOAP メッセージ ハンドラ チェーンのみで実装される。

この属性の値は、該当する <handler-chain> 要素の name 属性に対応する。

String

任意

in-security-spec

クライアント アプリケーションがオペレーションを呼び出すときの SOAP リクエストのメッセージレベルのセキュリティを記述するセキュリティ仕様の名前を指定する。セキュリティ仕様には、SOAP リクエストのどの部分に対して暗号化またはデジタル署名を行うのかを記述する。

この属性を指定しない場合、SOAP リクエストにはデフォルト セキュリティ仕様が適用される (存在する場合)。デフォルト セキュリティ仕様が存在しない場合、SOAP リクエストにはメッセージレベルのセキュリティはまったく適用されない。

この属性の値は、該当する <spec:SecuritySpec> 要素の Id 属性に対応する。

String

任意

invocation-style

オペレーションが SOAP リクエストの受信と SOAP 応答の送信の両方を行うか、SOAP 応答の返信は行わずに SOAP リクエストの受信のみを行うかを指定する。

この属性には、request-response (デフォルト値) または one-way のいずれかの値のみを指定できる。

注意 : このオペレーションを実装するバックエンド コンポーネントが、ステートレス セッション EJB または Java クラスのメソッドである場合にこの属性を one-way に設定すると、メソッドにより void が返される。

String

任意

method

オペレーションを実装する EJB または Java クラスのメソッドの名前 (component 属性でオペレーションがステートレス セッション EJB または Java クラスで実装されることを指定した場合)。

アスタリスク (*) を使用すると、全メソッドを指定できる。

EJB または Java クラスがメソッドをオーバーロードしない場合は、次のように、メソッド名しか指定する必要がない。

method="sell"

ただし、EJB または Java クラスがメソッドをオーバーロードする場合は、次のように、全シグネチャを指定する。

method="sell(int)"

String

任意

name

生成された WSDL で使用されるオペレーションの名前。

この属性が未指定の場合、オペレーションの名前はメソッド名または SOAP メッセージ ハンドラ チェーン名にデフォルトで設定される。

String

任意

out-security-spec

クライアント アプリケーションがオペレーションを呼び出した後の WebLogic Server の SOAP 応答のメッセージレベルのセキュリティを記述するセキュリティ仕様の名前を指定する。セキュリティ仕様には、SOAP 応答のどの部分に対して暗号化またはデジタル署名を行うのかを記述する。

この属性を指定しない場合、SOAP 応答にはデフォルト セキュリティ仕様が適用される (存在する場合)。デフォルト セキュリティ仕様が存在しない場合、SOAP 応答にはメッセージレベルのセキュリティはまったく適用されない。

この属性の値は、該当する <spec:SecuritySpec> 要素の Id 属性に対応する。

String

任意

portTypeName

このオペレーションが属する WSDL ファイルのポートの種類。ポートの種類から成るカンマ区切りリストを指定することにより、このオペレーションを複数のポートの種類に含めることができる。この Web サービスの WSDL の生成時に、独立した <portType> 要素が指定したポートの種類ごとに作成される。

デフォルト値は、<web-service> 要素の portType 属性の値。

String

任意

operations

<operations> 要素は、この Web サービスの明示的に宣言されたオペレーションをグループ化します。

この要素は、属性を持ちません。

outbound-expiry

WebLogic Server が SOAP 応答のタイムスタンプ ヘッダに追加する有効期限をミリ秒単位で指定します。

有効期限を指定しない場合は、この要素を -1 に設定します。

この要素のデフォルト値は -1 です。

param

<param> 要素はオペレーションの単一パラメータを指定します。

パラメータは、オペレーションを実装するメソッドを定義した順序と同じ順序で指定する必要があります。<param> 要素の数は、メソッドのパラメータ数と一致する必要があります。

表 A-11 <param> 要素の属性

属性

説明

データ型

必須/任意

class-name

パラメータのデータ型の Java 表現の Java クラス名。

この属性が未指定の場合、WebLogic Server は、パラメータの Java クラスのオペレーションを実装するバックエンド コンポーネントを参照する。

この属性の指定が必要となるのは、パラメータの XML 表現と Java 表現間のマッピングをデフォルトとは異なるものにする場合のみである。たとえば、xsd:int はデフォルトでは Java プリミティブ int 型にマップされるため、これを java.lang.Integer にマップするにはこの属性を使用する。

NMTOKEN

通常は必須。 属性の説明を参照。


location

in パラメータの値を含むリクエスト SOAP メッセージの部分 (ヘッダ、本文、または添付ファイル)。

この属性の有効な値は、Body、Header、または attachment。デフォルト値は Body。

Body を指定すると、RPC オペレーションの呼び出しに関する通常の SOAP 規則に基づき、パラメータの値が SOAP 本文から抽出される。Header を指定すると、type 属性の値を名前に持つ SOAP ヘッダ要素から値が抽出される。

attachment を指定すると、SOAP エンベロープではなく SOAP 添付ファイルからパラメータの値が抽出される。JAX-RPC 仕様で指定されているように、SOAP 添付ファイルから抽出できるのは、以下の Java データ型のみ。

  • java.awt.Image

  • java.lang.String

  • javax.mail.internet.MimeMultiport

  • javax.xml.transform.Source

  • javax.activation.DataHandler

String

任意

name

生成された WSDL で使用される in パラメータの名前。

デフォルト値は、メソッドのシグネチャにあるパラメータの名前。

String

任意

style

in パラメータ (標準入力パラメータ、戻り値として使用される out パラメータ、または値の入出力の両方に使用される inout パラメータ) のスタイル。

この属性の有効な値は、inout、または inout

パラメータを out または inout に指定すると、バックエンド コンポーネントのメソッド内のパラメータの Java クラスが javax.xml.rpc.holders.Holder インタフェースを実装する。

String

必須

type

パラメータの XML スキーマデータ型。

NMTOKEN

必須

params

<params> 要素は、オペレーションの明示的に宣言されたパラメータとオペレーションの戻り値をグループ化します。

オペレーションのパラメータや戻り値は明示的にリストする必要はありません。<operation> 要素に <params> 子要素がない場合、WebLogic Server はオペレーションを実装するバックエンド コンポーネントを参照してパラメータと戻り値を決定します。Web サービスの WSDL の生成時に、WebLogic Server は対応するメソッドのパラメータと戻り値の名前を使用します。

オペレーションのパラメータと戻り値は、以下の場合に明示的にリストしてください。

オペレーションのパラメータを指定するには、<param> 子要素を使用します。

オペレーションの戻り値を指定するには、<return-param> 子要素を使用します。

<params> 要素は、属性を持ちません。

password

<password> 要素は、親要素に応じて以下のパスワードを指定します。

この要素は、属性を持ちません。

reliable-delivery

<reliable-delivery> 要素は、信頼性のある SOAP メッセージングを使用してオペレーションを非同期に呼び出すことができることを指定します。これにより、Web サービスを呼び出すアプリケーションでは、SOAP メッセージが Web サービス オペレーションに配信されたことが保証されます。配信されなかった場合には、その旨を明示的に示す例外を受信します。

<reliable-delivery> 要素は、1 つのオペレーションに対して 1 つだけ指定できます。

表 A-12 <reliable-delivery> 要素の属性

属性

説明

データ型

必須/任意

duplicate-elimination

WebLogic Web サービスが同じクライアント アプリケーションからの重複呼び出しを無視するかどうかを指定する。

この属性を True に設定すると、Web サービスは重複呼び出しを排除できるようにクライアント アプリケーションからのメッセージ ID を保持する。False に設定した場合、Web サービスは重複呼び出しを管理しない。つまり、クライアントが呼び出しを再試行した場合、どちらの呼び出しも値を返すことができる。

この属性の有効な値は、True および False。デフォルト値は True

Boolean

任意

persist-duration

Web サービスを呼び出した送信元から受信した信頼性のある SOAP メッセージの履歴を、Web サービスがそのストレージに保持するデフォルトの最小秒数。

Web サービスは、WebLogic Server のクラッシュからの回復後、保持しているメッセージのうち期限の切れているものはディスパッチしない。

この属性の値 (設定する場合) は、送信側の再試行間隔と再試行回数の積よりも大きい値を指定する。

この属性のデフォルト値は 60,000。

Integer

任意

require-signature-timestamp

WebLogic Server が、その呼び出し元のクライアント アプリケーションからの SOAP リクエストにタイムスタンプが組み込まれていることを要求するかどうかを指定します。このプロパティを true に設定し、SOAP リクエストにタイムスタンプが含まれていない場合、WebLogic Server は応答を拒否します。

この要素の有効な値は、True および False です。デフォルト値は true です。

この要素は、属性を持ちません。この要素は、<timestamp> の子要素です。

return-param

<return-param> 要素は、Web サービス オペレーションの戻り値を指定します。

1 つのオペレーションに指定できる <return-param> 要素は 1 つのみです。

表 A-13 <return-param> 要素の属性

属性

説明

データ型

必須/任意

class-name

戻りパラメータのデータ型の Java 表現の Java クラス名。

この属性が未指定の場合、WebLogic Server は、戻りパラメータの Java クラスのオペレーションを実装するバックエンド コンポーネントを参照する。

この属性は、次の場合に指定が必要になる。

  • オペレーションを実装するバックエンド コンポーネントが <jms-receive-queue> の場合。

  • 戻りパラメータの XML 表現と Java 表現間のマッピングが不明瞭な場合 (たとえば、xsd:intint Java プリミティブ型と java.lang.Integer のいずれかにマップする場合など)。

NMTOKEN

通常は必須。属性の説明を参照。

location

戻りパラメータの値を含む応答 SOAP メッセージの部分 (ヘッダ、本文、または添付ファイル)。

この属性の有効な値は、Body、Header、または attachment。デフォルト値は Body。

Body を指定すると、戻りパラメータの値が SOAP 本文に追加される。Header を指定すると、type 属性の値を名前に持つ SOAP ヘッダ要素として値が追加される。

attachment を指定すると、SOAP エンベロープではなく SOAP 添付ファイルにパラメータの値が追加される。JAX-RPC 仕様で規定されているように、SOAP 添付ファイルに追加できるのは以下の Java データ型のみ。

  • java.awt.Image

  • java.lang.String

  • javax.mail.internet.MimeMultiport

  • javax.xml.transform.Source

  • javax.activation.DataHandler

String

任意

name

生成された WSDL ファイルで使用される戻りパラメータの名前。

この属性が未指定の場合、戻りパラメータの名前は result になる。

String

任意

type

戻りパラメータの XML スキーマ データ型。

NMTOKEN

必須

security

特定の Web サービスに関するすべてのセキュリティ コンフィグレーション情報を含む要素です。以下の情報が対象です。

表 A-14 <security> 要素の属性

属性

説明

データ型

必須/任意

Name

この security 要素の名前。

String

必須

signatureKey

SOAP メッセージの要素にデジタル署名するのに使用するキー ペアと証明書の名前およびパスワードを指定します。名前は <name> 下位要素で、パスワードは <password> 下位要素で指定します。

注意 : Administration Console でキー ペアと証明書を WebLogic Server キーストアに作成してください。詳細については、「プライベート キー、デジタル証明書、信頼性のある認証局の格納」を参照してください。

この要素は、属性を持ちません。

spec:BinarySecurityTokenSpec

SOAP メッセージに組み込む (バイナリの) 非 XML ベースのセキュリティ トークンを指定します。

注意 : この要素と合わせて次のネームスペース宣言を組み込む必要があります。

xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"

また、この要素の各属性の値は wsse ネームスペースで修飾する必要があります。

表 A-15 <spec:BinarySecurityTokenSpec> 要素の属性

属性

説明

データ型

必須/任意

EncodingType

バイナリ データのエンコード形式を指定する。

有効な値は wsse:Base64Binary のみ。

String

必須

ValueType

エンコードされたバイナリ データの値の型とスペースを指定する。

有効な値は wsse:X509v3 のみ (X.509 証明書の場合)。

String

必須

spec:ElementIdentifier

SOAP メッセージ (ヘッダまたは本文) の中のデジタル署名または暗号化する要素を特定します。SOAP メッセージ中の要素をローカル名とネームスペースでユニークに指定します。

この要素は、<spec:SignatureSpec> または <spec:EncryptionSpec> の子要素として指定します。

表 A-16 <spec:ElementIdentifier> 要素の属性

属性

説明

データ型

必須/任意

LocalPart

要素のローカル名。この属性ではネームスペースを指定しないこと。

String

必須

Namespace

要素が定義されているネームスペース。

String

必須

Restriction

要素の識別対象を SOAP ヘッダまたは本文に限定するかどうかを指定する。

有効な値は header または body。この値を指定しないと、要素の識別時に SOAP メッセージ全体が検索対象になる。

注意 : このオプション属性に値を指定すると、該当する SAP メッセージ部分 (ヘッダまたは本文) の最上位要素のみが検索対象になる。この属性を指定しないと、ネストの深さに関係なく、すべての要素が検索される。

String

任意

spec:EncryptionSpec

SOAP メッセージ中の暗号化する要素と暗号化する方法を指定します。

属性 EncryptBody="True" を設定すると、SOAP 本文全体を暗号化の対象に指定できます。また、<spec:ElementIdentifier> 子要素を使用して、SOAP メッセージ中の暗号化する特定の要素を指定することもできます。

警告 : EncryptBody="True" の指定と <spec:ElementIdentifier> 子要素による要素の指定を同時には行わないでください。暗号化する SOAP メッセージの要素を指定する方法には、どちらか一方のみを採用してください。

SOAP メッセージの要素を暗号化する方法の指定には、EncryptionMethod 属性を使用します。

表 A-17 <spec:EncryptionSpec> 要素の属性

属性

説明

データ型

必須/任意

EncryptBody

SOAP 本文全体を暗号化するかどうかを指定する。

注意 : EncryptBody="True" の指定と <spec:ElementIdentifier> 子要素による要素の指定を同時には行わないこと。暗号化する SOAP メッセージの要素を指定する方法には、どちらか一方のみを採用すること。

有効な値は True および False

String

必須

EncryptionMethod

SOAP メッセージの特定の要素を暗号化するのに使用するアルゴリズムを指定する。

有効な値は、次のとおり。

http://www.w3.org/2001/04/xmlenc#tripledes-cbc
http://www.w3.org/2001/04/xmlenc#kw-tripledes

デフォルト値は http://www.w3.org/2001/04/xmlenc#tripledes-cbc

String

任意

KeyWrappingMethod

メッセージの暗号化キーを暗号化するために使用するアルゴリズムを指定する。

有効な値は、次のとおり。

http://www.w3.org/2001/04/xmlenc#rsa-1_5 (REQUIRED RSA-v1.5 アルゴリズムを指定)

http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p (REQUIRED RSA-OAEP アルゴリズムを指定)

この属性を使用する場合は、値を次のような URI に設定する。

KeyWrappingMethod="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"

デフォルト値は http://www.w3.org/2001/04/xmlenc#rsa-1_5

String

任意

spec:SecuritySpec

この Web サービスに関する一連のセキュリティ関連情報を指定します。

この要素の情報には以下のものがあります。

<spec:SecuritySpec> 要素の情報は Web サービスの生成された WSDL に組み込まれます。これにより、Web サービスを呼び出すクライアントでは、すべてのセキュリティ仕様に沿った SOAP リクエストの作成方法がわかります。

また WebLogic Server も、特定の Web サービスを呼び出す SOAP リクエストのヘッダに必要なセキュリティ情報がすべて格納されているかどうかを検証するために、この要素の情報を利用します。たとえば、<spec:SecuritySpec> 要素で SOAP メッセージのある部分にデジタル署名するよう指定されていれば、WebLogic Server はこれについて SOAP リクエストの受信時にチェックする必要があるとわかります。チェック後、WebLogic Server は同じ情報を使って SOAP 応答メッセージのセキュリティ情報を作成します。

単一の Web サービスに対して複数のセキュリティ仕様を作成し、オペレーションごとに異なるセキュリティ仕様を使用できます。たとえば、あるオペレーションでは SOAP メッセージ (リクエストと応答の両方) にデジタル署名だけを行い、別のオペレーションでは SOAP リクエストだけにデジタル署名と暗号化を行うようにコンフィグレーションできます。そのためには、オペレーションを異なるセキュリティ仕様に関連付けます。

注意 : この要素と合わせて次のネームスペース宣言を組み込む必要があります。

xmlns:spec="http://www.openuri.org/2002/11/wsse/spec"

また、<spec:SecuritySpec> 要素の子要素はすべて spec ネームスペースで修飾する必要があります。

表 A-18 <spec:SecuritySpec> 要素の属性

属性

説明

データ型

必須/任意

Id

このセキュリティ仕様を識別するための名前。 この id をオペレーションに関連付ける。

この属性を指定しない場合、このセキュリティ仕様は Web サービスのデフォルトとなる。このため、セキュリティ仕様に明示的に関連付けられていないオペレーションはデフォルトによってこのセキュリティ仕様を使用する。

String

任意

Namespace

このセキュリティ仕様が定義されているネームスペース。

String

必須

spec:SignatureSpec

SOAP メッセージ中のデジタル署名する要素と署名方法を指定します。

デジタル署名は、転送中にメッセージが改ざんされなかったかどうかを判断したり、メッセージが本当に特定のセキュリティ トークンのプロセッサから送信されものかどうかを検証する方法の 1 つです。

属性 SignBody="True" を設定すると、SOAP 本文全体にデジタル署名するように指定できます。デジタル署名する対象として SOAP メッセージの特定の要素を追加指定するには、<spec:ElementIdentifier> 子要素を使用します。

SOAP メッセージの要素にデジタル署名する方法の指定には、CanonicalizationMethod 属性および SignatureMethod 属性を使用します。

表 A-19 <spec:SignatureSpec> 要素の属性

属性

説明

データ型

必須/任意

CanonicalizationMethod

デジタル署名する SOAP メッセージの要素を標準化するのに使用するアルゴリズムを指定する。

有効な値は次の値のみ。

http://www.w3.org/2001/10/xml-exc-cl4n#

String

必須

SignatureMethod

署名の計算に使用する暗号アルゴリズムを指定する。

注意 : 必ず社内で使用している証明書と互換性のあるアルゴリズムを指定すること。

有効な値は、次のとおり。

http://www.w3.org/2000/09/xmldsig#rsa-sha1
http://www.w3.org/2000/09/xmldsig#dsa-sha1

String

必須

SignBody

省略可能な <spec:ElementIdentifier> 子要素で指定した特定の要素に加え、SOAP 本文全体にもデジタル署名するかどうかを指定する。

有効な値は True および False

String

必須

spec:UsernameTokenSpec

この Web サービスの呼び出し後の SOAP 応答に必ずユーザ名トークンを含めるよう指定します。

WebLogic Server では、SOAP 応答メッセージのセキュリティ情報を作成するとき、<security> 要素の <user> 子要素の情報を使用します。

注意 : この要素と合わせて次のネームスペース宣言を組み込む必要があります。

xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"

また、この要素の各属性の値は wsse ネームスペースで修飾する必要があります。

表 A-20 <spec:UsernameTokenSpec> 要素の属性

属性

説明

データ型

必須/任意

PasswordType

SOAP メッセージにパスワードを格納する方法を指定する。

有効な値は wsse:PasswordText (ユーザ名に対応する実際のパスワード) のみ。

String

必須

stateless-ejb

Web サービスの 1 つまたは複数のオペレーションを実装するステートレス セッション EJB コンポーネントを指定します。

表 A-21 <stateless-ejb> 要素の属性

属性

説明

データ型

必須/任意

name

ステートレス EJB コンポーネントの名前。

注意 : 名前は web-services.xml ファイル内のもので、ejb-jar.xml ファイル内の EJB の名前は参照しない。

String

必須

timestamp

<timestamp> 要素は、WebLogic Server のタイムスタンプ動作をコンフィグレーションするために使用する要素をグループ化したものです。WebLogic Server は、暗号化またはデジタル署名される SOAP メッセージに対してだけタイムスタンプを追加または要求します。

web-services.xml デプロイメント記述子の <security> 要素に <timestamp> 子要素が存在せず、Web サービスでメッセージ セキュリティ (暗号化とデジタル署名) がコンフィグレーションされている場合、WebLogic Server は次のように動作します。

SOAP 応答にタイムスタンプを追加する。タイムスタンプには、SOAP 応答の作成日だけが含まれます。

この要素には属性はありません。この要素には次の子要素があります。

type-mapping

<type-mapping> 要素には、<types> 要素に定義されている XML データ型とその Java 表現間のマッピングのリストが含まれています。

<types> 要素内の各データ型に対し、そのデータ型を実装する Java クラスや、データをシリアライズ/デシリアライズする方法などをリストした <type-mapping-entry> 要素があります。

この要素には属性はありません。

type-mapping-entry

<types> 要素内の単一 XML データ型とその Java 表現間のマッピングを指定します。

表 A-22 <type-mapping-entry> 要素の属性

属性

説明

データ型

必須/任意

class-name

対応する XML データ型にマップされる Java クラスの完全修飾名。

String

必須

deserializer

データを XML から Java に変換する Java クラスの完全修飾名。

String

データ型が、「サポートされる組み込みデータ型」にリストされている WebLogic Web サービス実行時でサポートされている組み込みデータ日付ではない場合にのみ必須。

element

Java データ型にマップされる XML データ型の名前。データ型の XML スキーマ定義で <element> 要素を使用する場合にのみ指定する。

NMTOKEN

element または type のいずれか 1 つ (両方ではない) が必須。

serializer

データを Java から XML に変換する Java クラスの完全修飾名。

String

データ型が、「サポートされる組み込みデータ型」にリストされている WebLogic Web サービス実行時でサポートされている組み込みデータ日付ではない場合にのみ必須。

type

Java データ型にマップされる XML データ型の名前。データ型の XML スキーマ定義で <type> 要素を使用する場合にのみ指定する。

NMTOKEN

element または type のいずれか 1 つ (両方ではない) が必須。

types

XML スキーマ表記法に基づいて、Web サービス オペレーションのパラメータまたは戻り値の型として使用される非組み込みデータ型を記述します。

XML スキーマを使用して非組み込みデータ型の XML 表現を記述する方法の詳細については、「http://www.w3.org/TR/xmlschema-0/」を参照してください。

次の例では、stockSymbol (String データ型) と numberTraded (Integer 型) の 2 つの要素を含む TradeResult というデータ型の XML スキーマ宣言を示します。

<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stns="java:examples.webservices"
attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace="java:examples.webservices">
<xsd:complexType name="TradeResult">
<xsd:sequence>
<xsd:element maxOccurs="1"
name="stockSymbol"
type="xsd:string" minOccurs="1">
</xsd:element>
<xsd:element maxOccurs="1"
name="numberTraded"
type="xsd:int"
minOccurs="1">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>

user

SOAP 応答メッセージで使用されるユーザ名とパスワードを指定します。

この要素には次の 2 つの子要素があります。

この要素には属性はありません。

web-service

単一の Web サービスを定義します。

Web サービスは以下によって定義されます。

表 A-23 <web-service> 要素の属性

属性

説明

データ型

必須/任意

charset

Web サービスが呼び出しへの応答で使用する文字セットを指定する。文字セットの例としては、US-ASCIIUTF-8Shift_JIS などがある。

デフォルト値は US-ASCII

注意 : この属性のデフォルト値は US-ASCII であるが、これは Web サービスの web-service.xml ファイルでこの属性を明示的に指定しない場合、WebLogic Web サービス呼び出しへの応答で常に US-ASCII の文字セットが使用されるという意味ではない。詳細については、「WebLogic Server が使用する文字セット コンフィグレーションの優先順位」を参照。

String

任意

exposeHomePage

この Web サービスのホーム ページを外部にエクスポーズするかどうかを指定する。

この属性の有効な値は、True および False。デフォルト値は True。すなわち、デフォルトではホーム ページは外部からアクセス可能。

Boolean

任意

exposeWSDL

この Web サービスの自動生成による WSDL を外部にエクスポーズするかどうかを指定する。

この属性の有効な値は、True および False。デフォルト値は True。すなわち、デフォルトでは WSDL は外部からアクセス可能。

Boolean

任意

ignoreAuthHeader

Web サービスが SOAP リクエスト内の Authorization HTTP ヘッダを無視することを指定する。

注意 : この属性の使用は慎重に行ってください。 この属性の値を True に設定すると、WebLogic Server は、たとえアクセス制御のセキュリティ制約が Web サービスを構成する EJB、Web アプリケーション、またはエンタープライズ アプリケーションに対して定義されていても、Web サービスを呼び出そうとしているクライアント アプリケーションの認証を行わない。つまり、認証資格を提供しないクライアント アプリケーションでも、セキュリティ制約が定義されていれば、Web サービスを呼び出すことが可能となる。

有効な値は True および False。デフォルト値は False

Boolean

省略可能

jmsUri

クライアント アプリケーションが Web サービスの呼び出しに、デフォルトの HTTP/S 転送だけでなく JMS 転送も使用できるよう指定する。この属性の書式は次のとおりである。

connection_factory_name/queue_name

ここで、connection_factory_name は JMS 接続ファクトリの JNDI 名、queue_name は JMS 転送用にコンフィギュレーションした JMS キューの JNDI 名。次に例を示す。

jmsURI="JMSTransFactory/JMSTransQueue"

この属性を設定すると、Web サービスの生成された WSDL に JMS バインディングを使用する追加ポートが含まれる。clientgen Ant タスクは、この Web サービスの呼び出しに使用されるスタブの生成時に、デフォルトの getServicePort() メソッド (HTTP/S 用) に加え getServicePortJMS() メソッド (JMS 用) を生成する。

String

省略可能

name

Web サービスの名前。

String

必須

portName

この Web サービスの動的に生成された WSDL の <service> 要素の <port> 子要素の名前。

デフォルト値は、この要素の name 属性に Port を付加した値。たとえば、この Web サービスの名前が TraderService の場合、ポート名は TraderServicePort になる。

String

任意

portTypeName

この Web サービスの動的に生成された WSDL で、デフォルトの <portType> 要素の名前。

デフォルト値は、この要素の name 属性に Port を付加した値。たとえば、この Web サービスの名前が TraderService の場合、portType 名は TraderServicePort になる。

String

任意

protocol

サービスの呼び出しに使用されるプロトコル。

有効な値は http または https。デフォルトは http

String

任意

style

Web サービスのオペレーションが RPC 指向かドキュメント指向かを指定する。

RPC 指向の WebLogic Web サービス オペレーションでは、SOAP エンコーディングを使用する。ドキュメント指向の WebLogic Web サービス オペレーションでは、リテラル エンコーディングを使用する。

documentdocumentwrapped は、ドキュメント指向の Web サービス オペレーションを指定する。

document を指定した場合、Web サービスはパラメータを 1 つしか取らない。このため、このオペレーションを実装するメソッドもパラメータを 1 つしか取らない。

documentwrapped を指定した場合、Web サービス オペレーションはパラメータをいくつでも取ることができる。ただし、これらのパラメータの値は、SOAP メッセージの中に 1 つの複合データ型としてラップされる。Web サービスを実装するステートレス セッション EJB または Java クラスの複数のメソッドが同じパラメータ数とデータ型を取り、オペレーションをドキュメント指向にしたい場合、この属性値として document ではなく documentwrapped を指定する必要がある。

有効な値は、rpcdocumentwrapped、および document。デフォルト値は rpc

注意 : style 属性は Web サービス全体に適用されるので、1 つの <web-service> 要素で指定されたすべてのオペレーションが RPC 指向またはドキュメント指向のいずれかである必要がある。同じ Web サービスで 2 つのスタイルを混在させることはできない。

String

任意

targetNamespace

この Web サービスのネームスペース。

String

必須

uri

Web サービスの URI。Web サービスを呼び出す URL で後に使用される。

注意 : /TraderService のように、先頭に「/」を必ず指定すること。

String

必須

useSOAP12

メッセージ フォーマット プロトコルとして SOAP 1.2 を使用するかどうかを指定する。デフォルトでは、WebLogic Web サービスは SOAP 1.1 を使用する。

useSOAP12="True" を指定した場合、デプロイされた WebLogic Web サービスの生成された WSDL には、メッセージ フォーマット プロトコルとして SOAP 1.1 用のバンディングを指定する標準ポートと、SOAP 1.2 を使用する第 2 ポートの 2 つのポートが含まれる。メッセージ フォーマット プロトコルに SOAP 1.2 を使用したい場合、クライアント アプリケーションは Web サービスの呼び出し時に第 2 ポートを使用できる。

この属性の有効な値は、True および False。デフォルト値は False

Boolean

任意

web-services

web-services.xml デプロイメント記述子のルート要素です。

この要素は、属性を持ちません。

 

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