BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

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

 Previous Next Contents PDF で侮ヲ  

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

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

この章では、異なる形式を使用して 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 要素 small-icon 要素 small-icon 要素
 


 

small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素 small-icon 要素

 


要素について

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

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

components

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

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

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

ejb-link

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

属性

説明

データ型

必須/任意

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

必須

fault

この操作の呼び出しでエラーが発生した場合に送出される SOAP 障害を指定します。

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

属性

説明

データ型

必須/任意

name

パラメータの名前。

String

必須

class-name

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

String

必須

handler

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

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

属性

説明

データ型

必須/任意

class-name

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

String

必須

handler-chain

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

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

属性

説明

データ型

必須/任意

name

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

String

必須

handler-chains

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

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

init-param

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

属性

説明

データ型

必須/任意

name

パラメータの名前。

String

必須

value

パラメータの値。

String

必須

init-params

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

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

java-class

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

属性

説明

データ型

必須/任意

name

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

String

必須

class-name

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

String

必須

jms-receive-queue

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

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

属性

説明

データ型

必須/任意

name

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

String

必須

connection-factory

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

String

必須

provider-url

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

String

任意

initial-context-factory

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

String

任意

jms-receive-topic

Web サービス内の操作のうちの 1 つが JMS トピックにマップされることを指定します。この要素は、JMS トピックからデータを受信する Web サービス操作の指定に使用されます。

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

属性

説明

データ型

必須/任意

name

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

String

必須

connection-factory

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

String

必須

provider-url

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

String

任意

initial-context-factory

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

String

任意

jms-send-destination

Web サービス内の操作のうちの 1 つが JMS 送り先 (キューまたはトピック) にマップされることを指定します。この要素は、JMS 送り先にデータを送信する Web サービス操作の指定に使用されます。

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

属性

説明

データ型

必須/任意

name

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

String

必須

connection-factory

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

String

必須

provider-url

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

String

任意

initial-context-factory

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

String

任意

jndi-name

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

属性

説明

データ型

必須/任意

path

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

String

必須

operation

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

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

属性

説明

データ型

必須/任意

name

生成された WSDL で使用される操作の名前。

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

String

任意

component

この操作を実装するコンポーネントの名前。

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

String

任意

method

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

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

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

method="sell"

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

method="sell(int)"

String

任意

handler-chain

この操作を実装する SOAP メッセージ ハンドラ チェーンの名前。

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

String

任意

invocation-style

操作が SOAP 要求の受信と SOAP 応答の送信の両方を行うか、SOAP 応答の返信は行わずに SOAP 要求の受信のみを行うかを指定する。

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

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

String

任意

portTypeName

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

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

String

任意

operations

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

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

param

<param> 要素は操作の単一パラメータを指定します。

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

属性

説明

データ型

必須/任意

name

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

この属性が未指定の場合、パラメータ名はパラメータのデータ型に基づいて、intvalue1intvalue2traderesult などになる。

String

任意

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

任意

style

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

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

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

String

必須

type

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

NMTOKEN

必須

class-name

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

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

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

NMTOKEN

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


params

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

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

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

操作のパラメータを指定するには、<param> 子要素を使用します。

操作の戻り値を指定するには、<return-param> 子要素を使用します。

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

return-param

<return-param> 要素は、Web サービス操作の戻り値を指定します。

1つの操作に指定できる <return-param> 要素は 1 つのみです。

属性

説明

データ型

必須/任意

name

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

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

String

任意

location

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

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

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

String

任意

type

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

NMTOKEN

必須

class-name

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

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

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

  • 操作を実装するバックエンド コンポーネントが <jms-receive-queue> または <jms-receive-topic> の場合。

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

NMTOKEN

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

stateless-ejb

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

属性

説明

データ型

必須/任意

name

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

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

String

必須

type-mapping

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

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

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

type-mapping-entry

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

属性

説明

データ型

必須/任意

class-name

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

String

必須

element

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

NMTOKEN

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

type

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

NMTOKEN

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

serializer

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

String

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

deserializer

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

String

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

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>

web-service

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

Web サービスは次のコンポーネントで定義されます。

属性

説明

データ型

必須/任意

name

Web サービスの名前。

String

必須

targetNamespace

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

String

必須

uri

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

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

String

必須

protocol

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

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

String

任意

exposeHomePage

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

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

Boolean

任意

exposeWSDL

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

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

Boolean

任意

style

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

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

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

警告: この属性で document を指定した場合、Web サービスのオペレーションを実装するメソッドはすべて、パラメータが 1 つでなければならない。

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

String

任意

portName

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

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

String

任意

portTypeName

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

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

String

任意

ignoreAuthHeader

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

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

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

Boolean

任意

web-services

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

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

 

Back to Top Previous Next