Fusion Middleware Oracle WebLogic Server WebLogic SCAアプリケーションの開発

11g リリース1 (10.3.6)

B61414-04(原本部品番号:E15511-05)

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 表記規則

1 概要とロードマップ

- ドキュメントのスコープと対象読者

- このドキュメントの手引き

- 関連ドキュメント

2 概要

- WebLogic Spring SCAアプリケーション

- WebLogic SCAランタイム

- 制限事項

3 ツールのサポート

- スタンドアロンWebLogic Server

- Oracle SOA Suite

- Oracle JDeveloper

- Oracle Enterprise Pack for Eclipse (OEPE)

4 WebLogic SCAランタイムのWebLogic Serverへのデプロイ

5 WebLogic Spring SCAアプリケーションの概要

6 Springアプリケーション・コンテキストの構成

- 参照とサービスの指定

- sca:reference要素

- sca:service要素

- バインディング・サブ要素

- Springアプリケーション・コンテキストの例

7 EJBセッションBeanバインディングの構成

- binding.ejb要素の属性

- サービスへのバインディング

- 参照へのバインディング

- EJB2プログラミング・モデルl

- EJB3プログラミング・モデル

8 Webサービス・バインディングの構成

- binding.ws要素の属性

- binding.wsサブ要素

- PolicyReference要素

- property要素

- セキュリティの構成

- データ・バインディングの構成

- TopLink/EclipseLink JAXBバインディングの構成

- TopLink/EclipseLink SDO データ・バインディングの構成

- Glassfish JAXBデータ・バインディングの構成

- カスタム・データ・バインディングの構成

- カスタム・データ・バインディングを構成する手順

- カスタム・データ・バインディングの例

- SOAP添付のデータ・バインディングの構成

- MTOMを使用した添付の構成

- SwAを使用した添付の構成

- コレクションおよびマップ・オブジェクトの構成

- マップの一般タイプの外部化

- 構成設定の優先度

- デプロイメント

- ランタイム

9 WebLogic Spring SCAアプリケーションのデプロイ

- デプロイメント・ユニットの準備

- デプロイメント記述子の構成

- バンドリング・ライブラリ

- クラスタでのデプロイ

- 他のツールを使用したWebLogic Spring SCAアプリケーションのデプロイ

- ランタイム

10 WebLogic SCAアプリケーション構成の表示

A WebLogic SCAスキーマ

- WebLogic Spring SCAスキーマ(weblogic-sca.xsd)

- WebLogic SCAバインディング・スキーマ(weblogic-sca-binding.xsd)

- Webサービス・ポリシー・スキーマ(ws-policy.xsd)

- WebLogic SCAデータ・バインディング・カスタマイズ記述子スキーマ(weblogic-wsee-databinding.xsd)

Oracle® Fusion Middleware

Oracle WebLogic Server WebLogic SCAアプリケーションの開発

11g リリース1 (10.3.6)

B61414-04(原本部品番号:E15511-05)

2011年11月

このドキュメントはOracle WebLogic ServerでのWebLogic SCAサポートと、WebLogic SCAアプリケーションの開発方法について説明しています。

Oracle Fusion Middleware Oracle WebLogic Server WebLogic SCAアプリケーションの開発, 11g リリース1 (10.3.6)

B61414-04

Copyright © 2007, 2011, Oracle and/or its affiliates.All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

はじめに

ここでは、『Oracle WebLogic Server WebLogic SCAアプリケーションの開発』ガイドで使用されるドキュメント・アクセシビリティ機能と表記規則について説明します。

対象読者

このドキュメントは、アプリケーションをホストするWebLogic Serverを構成する管理者と、WebLogic Spring SCAアプリケーションを開発するアプリケーション開発者を対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

Oracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害があるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

斜体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 概要とロードマップ

WebLogic SCAはWebLogic SCAアプリケーションの作成とデプロイのサポートを提供します。このドキュメントではOracle WebLogic ServerでWebLogic SCAを扱う方法を説明します。

ドキュメントのスコープと対象読者

次の節では、このガイド『Oracle WebLogic Server WebLogic SCAアプリケーションの開発』の内容と構成について説明します。

- ドキュメントのスコープと対象読者

- このドキュメントの手引き

- 関連ドキュメント

このドキュメントの手引き

- この第1章「概要とロードマップ」では、このガイドの構成について説明します。

- 第2章「概要」では、Oracle SCAの概要を説明します。

- 第3章「ツールのサポート」では、Oracle WebLogic Server、Oracle SOA Suite、Oracle Enterprise Pack for Eclipse(OEPE)およびOracle JDeveloperでWebLogic SCAを扱うために使用できるツールについて説明します。

- 第4章「WebLogic SCAランタイムのWebLogic Serverへのデプロイ」では、WebLogic SCAランタイムを共有アプリケーション・ライブラリとしてWebLogic Serverにデプロイする方法を説明します。

- 第5章「WebLogic Spring SCAアプリケーションの概要」では、WebLogic Spring SCAアプリケーションの作成およびデプロイに必要なことの概要を説明します。

- 第6章「Springアプリケーション・コンテキストの構成」では、WebLogic SCA機能を利用するためにSpringアプリケーション・コンテキストを構成する方法について説明します。

- 第7章「EJBセッションBeanバインディングの構成」では、EJBセッションBeanバインディングを構成してWebLogic Spring SCAアプリケーションでサービスおよび参照を公開する方法について説明します。

- 第8章「Webサービス・バインディングの構成」では、Webサービス・バインディングを構成してWebLogic Spring SCAアプリケーションでサービスおよび参照を公開する方法について説明します。

- 第10章「WebLogic SCAアプリケーションの構成の表示」では、WebLogic Spring SCAアプリケーション用に構成されたサービスおよび参照を表示するために、WebLogic SCAコンソール拡張を有効にする方法について説明します。

- 付録A「WebLogic SCAスキーマ」では、WebLogic Spring SCAアプリケーションに使用されるスキーマを示します。

関連ドキュメント

関連情報については、次のドキュメントを参照してください。

- Oracle WebLogic Serverの詳細は、『Oracle WebLogic Serverインフォメーション・ロードマップ』を参照してください。

- Oracle SOA Suiteの詳細は、Oracle SOA Suiteドキュメントのページ(http://download.oracle.com/docs/cd/E12839_01/soa.htm)を参照してください。

- WebLogic SCAは次の仕様の一部に基づきます。

- OASISのSCAサービス・コンポーネント・アーキテクチャのアセンブリ・モデル仕様(http://www.osoa.org/download/attachments/35/SCA_AssemblyModel_V100.pdf?version=1)

- OASISのSCAサービス・コンポーネント・アーキテクチャのSpringコンポーネントの実装仕様(http://www.oasis-open.org/committees/download.php/25529/sca-springci-draft-20070926.doc)

- OASISのSCAサービス・コンポーネント・アーキテクチャのEJBセッションBeanバインディング仕様(http://www.osoa.org/download/attachments/35/SCA_EJBSessionBeanBinding_V100.pdf)

- Springフレームワークの詳細は、Springソース・コミュニティ(http://www.springsource.org/)を参照してください。

2 概要

サービス・コンポーネント・アーキテクチャ(SCA)はエンタープライズ・アプリケーションおよびシステムを統合および再利用可能なモジュラ・ビジネス・サービスとして構築するためのモデルを提供します。WebLogic SCA はPlain Old Java Object(POJO)を使用するSCAアプリケーションの開発およびデプロイをサポートします。

WebLogic SCAはOASISのサービス・コンポーネント・アーキテクチャのSpringコンポーネントの実装仕様(http://www.oasis-open.org/committees/download.php/25529/sca-springci-draft-20070926.doc)のサブセットに基づきます。サポートされない機能は、第2章「制限事項」で示しています。

この章はWebLogic SCAを紹介します。

- WebLogic Spring SCAアプリケーション

- WebLogic SCAランタイム

- 制限事項

WebLogic Spring SCAアプリケーション

SCAでは、コンポーネントの実装とその通信は明確に分けられています。WebLogic SCAでは、POJOを使用してJavaアプリケーションを作成し、異なるプロトコルを介して、SCAサービスとしてコンポーネントを公開し、参照により他のコンポーネントにアクセスします。これを行うにはSpringアプリケーション・コンテキストに構成されたSCAセマンティクスを使用します。SCAの用語では、WebLogic Spring SCAアプリケーションはPOJOの集合に加えて、クラスとSCAサービスおよび参照をワイヤリングするSpring SCAコンテキスト・ファイルのことです。

WebLogic Spring SCAアプリケーションはWebLogic Serverでシームレスに実行し(WebLogic SCAランタイムを介して)、Oracle SOAコンポジットのコンポーネントとして変更なしに使用できます。

WebLogic SCAランタイム

WebLogicサーバーでは、WebLogic Spring SCAアプリケーションはWebLogic SCAランタイムで実行します。ランタイムが共有Webアプリケーション・ライブラリとしてWebLogic Serverにデプロイされるまで、アプリケーションをそこにデプロイできません。WebLogic SCAランタイムには次のものが含まれます。

- WebLogic SCAスキーマを使用したSCA参照およびサービスの構成のサポートを含むSpring コンテナ。

注意:
WebLogic SCAランタイムのSpringコンテナは「Oracle WebLogic ServerでのSpringサポート」に記載されているWebLogic ServerのSpringサポートとは異なります。しかし、Springアプリケーション(WebLogic Serverの現在のSpringサポートを使用してビルドされたものを含む)の中にはWebLogic SCAの拡張を使用できるものもあります。

- 受信メッセージ(サポートされるJavaパラメータのみ)を適切なサービスへルーティングするメッセージ・プロセッサ。

- リクエストのリスニング、サービスの公開、参照の起動を担当するSCAバインディング・コンポーネントの実装。WebサービスとEJBセッションBeanの2つのバインディング・コンポーネントの実装がこのリリースには含まれています。

図2-1に、デプロイされたWebLogic Spring SCAアプリケーションを示します。

図2-1

「図2-1」の説明

制限事項

WebLogic SCAはOASISのサービス・コンポーネント・アーキテクチャのSpringコンポーネントの実装仕様のうちのいくつかの機能をサポートしません。制限事項は次のとおりです。

- スタンドアロンWebLogic ServerのWebLogic SCAでは、サービスおよび参照バインディングはSpringコンテキストにのみ指定され、別個のSCDL(.composite)ファイルには指定しません。SCDLファイルを使用してサービスおよび参照バインディングを指定するのはOracle SOA Suiteでのみ可能です。

- SCA注釈はこのリリースではサポートされません。

- <sca:property>要素はこのリリースではサポートされません。

次のものはこのリリースのEJBセッションBeanバインディングではサポートされません。

- EJBポリシー

- ステートフルEJBバインディング

- EJB 2.xサービス・バインディング

- <ejb-link>要素

- ローカルEJBサービス・バインディング

次の制限事項がこのリリースのWebサービス・バインディングに適用されます。

- SCA参照で使用されるタイプは、JAX-WS wsimportツール、WebLogic clientgen Antタスク、Oracle JDeveloperまたはOracle Enterprise Pack for Eclipse(OEPE)などのJAX-WS互換クライアント生成ツールを使用して、外部WSDLから生成されたJAX-WS互換インタフェースである必要があります。

3 ツールのサポート

WebLogic SCAは次のツールによりサポートされます。

- スタンドアロンWebLogic Server

- Oracle SOA Suite

- Oracle JDeveloper

- Oracle Enterprise Pack for Eclipse (OEPE)

スタンドアロンWebLogic Server

アプリケーションの開発、デプロイ、管理および監視に関するWebLogic Serverの他のすべての機能(WebLogic SCAランタイムを含む)に加えて、WebLogic Server管理コンソールは、WebLogic Spring SCAアプリケーションのランタイム監視機能を提供します。第10章「WebLogic SCAアプリケーション構成の表示」を参照してください。

Oracle SOA Suite

WebLogic Spring SCAアプリケーションは、Oracle SOAでSCAコンポジットのコンポーネントとしてアセンブルされたSCAのコンポーネントとして使用できます。『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

Oracle JDeveloper

Oracle JDeveloperを使用して次のことができます:

- sca:service、sca:referenceおよびバインディング要素を使用してSpring SCAコンテキスト・ファイルを作成する

- WebLogic SCAサービス定義を定義および作成する

- WebLogic SCAサポートを既存のプロジェクト・タイプに追加する

- WebLogic SCA共有ライブラリにアクセスできるプロジェクトのクラスパスおよびweblogic.xml構成ファイルを構成する

- WebLogic Spring SCAアプリケーションをJava EEデプロイメント・ユニットの一部としてバンドルする(EARおよびWARアーカイブを含む)

Oracle JDeveloperの詳細は、http://www.oracle.com/technology/documentation/jdev.htmlおよびJDeveloperに含まれるオンライン・ドキュメントも参照してください。

Oracle Enterprise Pack for Eclipse(OEPE)

Oracle Enterprise Pack for Eclipseを使用して次のことができます:

- WebLogic SCAランタイムをWebLogic Server共有ライブラリとしてデプロイする

- sca:service、sca:referenceおよびバインディング要素を使用してSpring SCAコンテキスト・ファイルを作成する

- WebLogic SCAサービス定義を定義および作成する

- WebLogic SCAサポートを既存のプロジェクト・タイプに追加する

- WebLogic SCA共有ライブラリにアクセスできるプロジェクトのクラスパスおよびweblogic.xml構成ファイルを構成する

- WebLogic Spring SCAアプリケーションをJava EEデプロイメント・ユニットの一部としてバンドルする(EARおよびWARアーカイブを含む)

Oracle Enterprise Pack for EclipseのWebLogic SCAサポートの詳細は、「Oracle WebLogic Serverサポート: WebLogic SCAを使用するプロジェクトの構成」(http://download.oracle.com/docs/cd/E15315_02/help/oracle.eclipse.tools.weblogic.doc/html/sca.html)を参照してください。

4 WebLogic SCAランタイムのWebLogic Serverへのデプロイ

WebLogic SCAランタイムはWebLogic Serverのインストール時にデフォルトでインストールされますが、共有Webアプリケーション・ライブラリとしてデプロイする必要があります。

注意:
WebLogic SCAアプリケーションにはspring.jarがバンドルされていると想定されるため、SpringフレームワークはWebLogic SCAランタイムのデプロイメント時に個別にインストールする必要がありません。

WebLogic Serverでは、管理コンソールまたはコマンド・ラインweblogic.Deployerツールを使用してライブラリをデプロイできます。weblogic.Deployerの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「weblogic.Deployerを使用したアプリケーションとモジュールのデプロイ」を参照してください。

管理コンソールを使用してライブラリをデプロイするには、次の手順に従います。

1. まだ行っていない場合、管理コンソールのチェンジ・センターで「ロックして編集」をクリックします。

2. 管理コンソールの左側のペインで「デプロイメント」をクリックします。

3. 右側のペインで、「インストール」をクリックします。

4. 「アプリケーション・インストール・アシスタント」で、次のライブラリ・ファイルに移動します。
WL_HOME/common/deployable-libraries/weblogic-sca-1.0.war

5. ファイルを選択して「次へ」をクリックします。

6. 「このデプロイメントをライブラリとしてインストールする」を選択します。

7. 「次へ」をクリックします。

8. アプリケーションまたはモジュールをデプロイするサーバーまたはクラスタ(またはその両方)を選択します。

9. 「次へ」をクリックします。

10. オプションで追加のデプロイメント設定を更新します。

11. 「次へ」をクリックします。

12. 指定した設定を検証し、「終了」をクリックしてインストールを終了します。

13. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。

WebLogic Serverデプロイメントの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

注意:
WebLogic SCAランタイム・ライブラリはOracle Enterprise Pack for EclipseおよびOracle JDeveloperにより自動的にデプロイできます。これらのツールのWebLogic SCAサポートの詳細は、第3章「ツールのサポート」を参照してください。

5 WebLogic Spring SCAアプリケーションの概要

WebLogic Spring SCAアプリケーションはWebLogic Serverのスタンドアロン・インスタンスで実行することも、Oracle SOAのSCAコンポジットのコンポーネントとしてアセンブルすることもできます。この章では、WebLogic ServerにデプロイされるWebLogic Spring SCAアプリケーションについて説明します。

注意:
WebLogic SCA アプリケーションは固有のspring.jarのバージョン2.0.6またはそれ以降をバンドルする必要があります。お薦めするのはSpring 2.5.6です。

WebLogic Spring SCAアプリケーションには次の特徴があります。

- Springアプリケーション・コンテキストファイルには、SCA参照、サービスおよびそれらのバインディングを構成するSCA要素が含まれます。第6章「Springアプリケーション・コンテキストの構成」、第7章「EJBセッションBeanバインディングの構成」および第8章「Webサービス・バインディングの構成」を参照してください。

- デプロイメント・ユニットは第9章「WebLogic Spring SCAアプリケーションのデプロイメント」で説明するガイドラインに従って構成されます。

6 Springアプリケーション・コンテキストの構成

SCAサービスは、他のコンポーネントによる使用のためのビジネス機能を提供するプログラム・コードの一部です。サービスはSCA参照として他のコンポーネントから起動できます。SCAサービスおよび参照の厳密な定義については、OASISのSCAサービス・コンポーネント・アーキテクチャのアセンブリ・モデル仕様(http://www.osoa.org/download/attachments/35/SCA_AssemblyModel_V100.pdf?version=1)を参照してください。

SCAサービスおよび参照は次の項で説明しているように、Springアプリケーション・コンテキストで構成されます。

- 参照とサービスの指定

- Springアプリケーション・コンテキストの例

参照とサービスの指定

WebLogic Spring SCAはSCA参照およびバインディングを指定する次の2つの要素をサポートします。

- sca:reference要素

- sca:service要素

sca:reference要素

<sca:reference>要素は、Springアプリケーション・コンテキストの外側のSCAサービスを表すSpring Beanを宣言します。この要素の属性は次のとおりです。

name

必須。参照の名前。

type

必須。リモート・サービスを表すインタフェースまたはクラスの完全修飾Javaタイプ。たとえば、Webサービスへの外部参照の場合、これはWebサービスに対するクライアント側プロキシのタイプになります。

Webサービス・バインディングを使用するSCA参照で使用されるタイプはJAX-WS互換インタフェースである必要があります。使用されるタイプは、JAX-WS wsimportツール、WebLogic clientgen Antタスク、Oracle JDeveloperまたはOracle Enterprise Pack for Eclipse(OEPE)などのJAX-WS互換クライアント生成ツールを使用して、外部WSDLから生成されたJAX-WS互換インタフェースである必要があります。

default

オプション。何も指定しないと、参照に対するターゲットBeanです。これによりローカル・サービスにワイヤリングし、関連するバインディングを無視することで、パフォーマンスが向上します。

sca:service要素

<sca:service>要素はWebLogic SCAがサービスとして公開するSpring Beanを宣言します。この要素の属性は次のとおりです。

name

必須。サービスの名前。

binding.wsサブ要素のname属性に名前が指定されていない場合(binding.ws要素の属性を参照)、sca:serviceのname属性に指定した名前がWSDLでのサービス名として公開されます。しかし、binding.wsで名前を指定した場合、その名前がそのバインディングのサービス名としてWSDLで公開されます。

type

必須。SCAサービスとして公開されるJavaクラスの完全修飾Javaタイプ。

target

必須。サービスとして公開されるBean。

WebLogic Spring SCAスキーマについては、 付録A「WebLogic Spring SCA スキーマ(weblogic-sca.xsd)」を参照してください。

バインディング・サブ要素

sca:reference要素およびsca:service要素には参照またはサービスのバインディングを指定するバインディング・サブ要素が含まれます。sca:reference要素には1つだけバインディング・サブ要素を含めることができます。複数指定した場合、最初のものだけが使用されます。1つのsca:service要素にはゼロ、1つまたは複数のバインディング・サブ要素を含めることができます。

WebLogic Spring SCAは次のバインディング要素をサポートします。

- <binding.ws>はバインディングがWebサービス・バインディングであることを指定します。

- <binding.ejb>はバインディングがEJBセッションBeanバインディングであることを指定します。

- <binding.scaがデフォルトです。binding.scaが指定されるか、またはバインディングが指定されない場合、WebLogic SCAランタイムのデフォルトはbinding.wsになります。

バインディング要素およびWebLogic SCAランタイム・バインディング・コンポーネントの実装の詳細は、第7章「EJBセッションBeanバインディングの構成」および第8章「Webサービス・バインディングの構成」を参照してください。バインディング要素のスキーマについては、付録A「WebLogic SCAスキーマ」を参照してください。

Springアプリケーション・コンテキストの例

Springアプリケーション・コンテキストの例を例6-1に示します。コンテキストには2つのSpring Bean、beanXおよびbeanYが含まれています。Bean beanXはWebLogic Spring SCAからSpringアプリケーション・コンテキストへのエントリ・ポイントで、Bean beanYには外部SCAサービスへの参照が含まれます。

例6-1 Springアプリケーション・コンテキストの例

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sca="http://xmlns.oracle.com/weblogic/weblogic-sca"
xmlns:wlsb="http://xmlns.oracle.com/weblogic/weblogic-sca-binding"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://xmlns.oracle.com/weblogic/weblogic-sca
http://xmlns.oracle.com/weblogic/weblogic-sca/1.0/weblogic-sca.xsd
http://xmlns.oracle.com/weblogic/weblogic-sca-binding
http://xmlns.oracle.com/weblogic/weblogic-sca-binding/1.0/weblogic-sca-binding.xsd">

<!-- Expose the bean "X" as an SCA service named "SCAService"-->

<sca:service name="SCAService"
type="org.xyz.someapp.SomeInterface"
target="X">
<wlsb:binding.ws uri="/testService"/>
</sca:service>

<sca:reference name="SCAReference" type="org.xyz.someapp.SomeOtherInterface">
<wlsb:binding.ws
location="http://localhost:7001/jscaliteapp/myrefsvcnameuri"
port="http://test.oracle.com#wsdl.endpoint(SCAService2/myrefportname)"/>
</sca:reference>

<bean id="X" class="org.xyz.someapp.SomeClass">
<property name="foo" ref="Y"/>
</bean>

<bean id="Y" class="org.xyz.someapp.SomeOtherClass">
<property name="bar" ref="SCAReference"/>
</bean>
</beans>

7 EJBセッションBeanバインディングの構成

この章では、サービスおよび参照用のEJBセッションBeanバインディングを構成する方法について説明します。

- binding.ejb要素の属性

- サービスへのバインディング

- 参照へのバインディング

EJBセッションBeanバインディングはSCAサービスおよびSCA参照の両方に適用できます。アプリケーション用のSpringアプリケーション・コンテキスト・ファイルの<binding.ejb>要素で、EJBセッションBeanバインディングを構成します。背景情報については、次を参照してください。

- WebLogic Spring SCAアプリケーション用のSpringアプリケーション・コンテキストの構成についての一般情報は、第6章「Springアプリケーション・コンテキストの構成」を参照してください。

- <binding.ejb>要素を定義するスキーマについては、付録A「WebLogic SCAバインディング・スキーマ(weblogic-sca-binding.xsd)」を参照してください。

注意:
EJBバインディング・コンポーネントの実装はSCA EJBセッションBeanバインディング仕様(http://www.osoa.org/download/attachments/35/SCA_EJBSessionBeanBinding_V100.pdf)に基づきます。ただし、このリリースのWebLogic SCAでは、次の機能はサポートされません。

- ステートフル・セッションBeanバインディング(対話はサポートされません)

- <ejb-link>要素

- ローカルEJBサービス・バインディング

- ローカルEJB参照バインディング

binding.ejb要素の属性

binding.ejb要素の属性は次のとおりです。

name

オプション。バインディングの名前を指定します。

uri

必須。参照のEJBバインディングの場合、uriはターゲットEJBのJNDI名を指定します。サービスのEJBバインディングの場合、uri値はEJBがバインドされるJNDI名です。

拡張CORBA名URIはサポートされません。次の2つの単純化されたパターンがサポートされます。どちらも、JNDI名ejb/MyHomeにバインドされるサービス実装になります。

- uri="corbaname:rir:#ejb/MyHome"

- uri="ejb/MyHome"

dispatchPolicy

オプション。サービス・バインディングとともに使用されます。着信起動に使用されるWorkManagerの名前を指定します。

サービスへのバインディング

binding.ejbがSCAサービスに構成されている場合、サービス・インタフェースの実装はアプリケーションがデプロイされるときにJNDIで使用可能になります。するとサービスはEJBプログラミング・モデルを使用して起動できます。たとえば、これによりクライアントは、基礎となるサービスがデプロイされたEJBであるかのように、サービスをルックアップおよび起動できます。これは従来のEJBのクライアントを更新する必要なしに、 既存のEJBサービスをSCA実装で置き換えたい場合に有用なことがあります。

EJB3プログラミング・モデルだけがEJBセッションBeanサービス・バインディング用にサポートされます。

binding.ejbのuri属性を使用してJNDI名を指定します。「binding.ejb要素の属性」を参照してください。

すべてのEJBサービス・バインディングはリモートなので、リモートからルックアップおよび起動できます。

リモート・サービスの実装はクラスタ化可能です。サービス・バインディングにクライアント・タイムアウトを設定できます。クライアント・タイムアウトを指定するには、binding.ejb jarファイルにあるEJBServiceDelegateImplRTD.xmlファイルを編集します。

EJBサービス・バインディングはオプションでディスパッチ・ポリシーを指定できます。ディスパッチ・ポリシーを指定するには、<binding.ejb>のdispatchPolicy属性を、着信起動に使用するWorkManagerの名前に設定します。設定したWorkManagerが見つからない場合、実行時に警告が発行され、デフォルトのWorkManagerが使用されます。

参照へのバインディング

binding.ejbがSCAリファレンスに対して構成されていると、ターゲットEJBは、EJBプログラミング・モデルについて知らなくても解決され、呼び出されます。(WebLogic SCAランタイムは、JNDIルックアップから返されたオブジェクトがjavax.ejb.EJBHomeを実装するしないかに基づいて、ターゲットEJBのプログラミング・モデルを決定します。)

ターゲットEJBはすぐに解決されるわけではなく、起動のサービスの必要に応じて実行時に解決されます。

これにより、SCA POJO実装はデプロイされたEJBを他のSCA参照の起動と同じ方法で起動できます。WebLogic SCAランタイムはターゲットEJBをJNDIからリックアップし、メソッド呼出しをEJBへ委任します。この方法でbinding.ejbを使用すると、依存コンポーネントの実装を更新する必要なく、柔軟に、EJBサービスをEJB以外のサービスに置き換えることができます。

次に説明するように、EJB2およびEJB3プログラミング・モデルは参照バインディング用にサポートされます。

EJB2プログラミング・モデル

ターゲットEJBがEJB 2.xクライアント・ビューを使用する場合、バインディング実装はhome.create()メソッドを起動してEJBのリモート・インタフェース実装を取得します。バインディング実装はまた参照インタフェース・メソッド起動をEJBリモート・インタフェース起動へ変換します。

参照インタフェースのメソッドは、SCA EJBセッションBeanバインディング仕様(http://www.osoa.org/download/attachments/35/SCA_EJBSessionBeanBinding_V100.pdf)の項2.2「インタフェース・マッピング」のルールに従ってリモート・インタフェースにマップされます。

EJB3プログラミング・モデル

EJB3プログラミング・モデルが使用される場合、ターゲットEJBは参照インタフェースを実装できますが、必須ではありません。参照インタフェースを実装しない場合、SCA EJBセッションBeanバインディング仕様の2.2項のルールが適用されます。EJBバインディング・コードは参照インタフェース・メソッド起動をEJBビジネス・インタフェース起動へ変換します。

8 Webサービス・バインディングの構成

この章では、サービスおよび参照用にEJBサービス・バインディングを構成する方法について説明します。

- binding.ws要素の属性

- binding.wsサブ要素

- セキュリティの構成

- データ・バインディングの構成

- 構成設定の優先度

- デプロイメント

- ランタイム

使用アプリケーションのSpringアプリケーション・コンテキスト・ファイルの<binding.ws>要素で、Webサービス・バインディングを構成します。背景情報については次を参照してください。

- WebLogic Spring SCAアプリケーション用のSpringアプリケーション・コンテキストの構成についての一般情報は、第6章「Springアプリケーション・コンテキストの構成」を参照してください。

- <binding.ws>要素を定義するスキーマについては、付録A「WebLogic SCAバインディング・スキーマ(weblogic-sca-binding.xsd)」を参照してください。

Webサービス・バインディングはSCAサービスおよびSCA参照に適用できます。これは次のことを行います。

- <binding.ws>要素を解析し、サービス・バインディングに対し、公開するサービスのWSDLを生成します。

- サービス・バインディングに対し、"Plain Old Java Object"(POJO)をJava API for XML-Based Web Services(JAX-WS)として公開します。

- 公開されたサービスに対するリクエストを受け入れ、Webサービスに対する参照の起動を実行します。

サービスでのWebサービス・バインディングの例を例8-1に示します。

例8-1 サービスでのWebサービス・バインディング

<sca:service name="SCAService"
type="com.oracle.test.SayHello"
target="hello">
<wlsb:binding.ws"
name="mysvcname"
port="myportname"
uri="/mysvcnameuri"/>
</sca:service>

参照でのWebサービス・バインディングの例を例8-2に示します。

例8-2 参照でのWebサービス・バインディング

<sca:reference name="SCAReference" type="com.oracle.test.SayHelloRef">
<wlsb:binding.ws"
location="http://localhost:7001/wlscaapp/myrefsvcnameuri"
port="http://test.oracle.com#wsdl.endpoint(SCAService2/myrefportname)"/>
</sca:reference>

現在のアプリケーション外のサービスを参照する参照バインディングの場合、参照に使用されるコントラクト・クラスは、WebLogic clientgen AntタスクまたはOracle JDeveloperなどのクライアント・ツールを使用してWSDLから生成されることが想定されます。

注意:
コントラクト・クラスがJAX-WS互換クライアント・ツールから生成されない場合、特定のタイプの機能は正しく動作しないことがあります。

sca:referenceのtype属性で指定されるタイプは、JAX-WS wsimportツール、WebLogic clientgen Antタスク、Oracle JDeveloperまたはOracle Enterprise Pack for Eclipse(OEPE)などのJAX-WS互換クライアント生成ツールを使用して、外部WSDLから生成されたJAX-WS互換インタフェースである必要があります。

binding.ws要素の属性

<binding.ws>要素の属性は次のとおりです。

databinding

オプション。SOAPメッセージをJavaとの間で変換するのに使用するデータバインディングのタイプを指定します。有効な値は次のとおりです。

- toplink.jaxb(デフォルト)
データ・バインディングがEclipseLink 2.0からのTopLink/EclipseLink JAXB(JAXB2)を使用することを指定します。これらのテクノロジの詳細は、『Oracle TopLink開発者ガイド』およびEclipseLink(http://www.eclipse.org/eclipselink/)を参照してください。

- toplink.sdo - Toplink/EclipseLink SDO from EclipseLink 2.0
データ・バインディングがEclipseLink 2.0からのToplink/EclipseLink Service Data Objects(SDO)を使用することを指定します。EclipseLink(http://www.eclipse.org/eclipselink/)を参照してください。

データ・バインディングのタイプにより、binding.wsの<property>サブ要素を使用する必要がある場合もあります。次を参照してください。

- カスタム・データ・バインディングの構成

- TopLink/EclipseLink SDO データ・バインディングの構成

- Glassfish JAXBデータ・バインディングの構成

- glassfish.jaxb
データ・バインディングがJava Architecture for XML Binding 2.x (JAXB2) Reference Implementation(JAXB RI)を使用することを指定します。JAXB RIの詳細は、https://jaxb.dev.java.net/で「Glassfish」、「Metro」、「JAXB」の順に参照してください。

location

sca:referenceバインディングの場合のみ必須。外部参照を見つけることのできる場所(つまりURL)を指定します。WSDLはこの場所に?wsdlを追加することで使用可能にする必要があります。

name

オプション。バインディングの名前を指定します。

sca:serviceバインディングの場合、この名前はWSDLのサービス名として公開されます。これはsca:service要素のname属性に指定された名前をオーバーライドします。

port

sca:serviceバインディングの場合オプション。サービス・エンドポイントに使用するポート名を指定します。

sca:referenceバインディングの場合必須。この参照が外部Webサービスで指すWSDLポートを指定します。

これはnamespace uri#wsdl.endpoint(servicename/portname)という形式である必要があります。

soapversion

オプション。WebサービスのSOAPバージョンを指定します。有効な値は1.1および1.2です。デフォルトは1.1です。

uri

sca:serviceバインディングの場合のみ必須。WebサービスがこのSCAサービスに対して公開される必要のある場所を、SCAアプリケーションのコンテキスト・ルートに対し相対的に指定します。

binding.wsサブ要素

<binding.ws>要素は次のサブ要素を含むことができます。

- PolicyReference要素

- property要素

PolicyReference要素

<binding.ws>の<PolicyReference>サブ要素は、使用するセキュリティ・ポリシーへの参照を指定します。次の属性が含まれます。

uri

ポリシーの場所を指定します。このリリースでは組込みのWebLogic Serverセキュリティ・ポリシーだけがサポートされます。

direction

オプション。ポリシーがinbound、outboundまたはbothのいずれであるかを指定します。デフォルトはbothです。

PolicyReference要素を使用したセキュリティ・ポリシーの構成の詳細は、「セキュリティの構成」を参照してください。

property要素

<binding.ws>の<property>サブ要素には、次のプロパティ名を受け入れるname属性があります。

- weblogic.sca.binding.ws.sdoSchemaFile
SDOバインディングのスキーマ・ファイルの場所を指定します。「TopLink/EclipseLink SDOデータ・バインディングの構成」を参照してください。

- weblogic.sca.binding.ws.externalCustomizationFile
外部データ・バインディング・カスタマイズXMLファイルを指定します。「カスタム・データ・バインディングの構成」を参照してください。

- weblogic.sca.binding.ws.referenceWsdlCacheTimeoutMins
参照の起動時にWSDLキャッシュを構成します。キャッシュを有効にし、キャッシュのタイムアウト期間を指定するには、分数を示す正の数値を指定します。WSDLキャッシュを無効にするには、ゼロまたは負の数値を指定します。このプロパティを指定しないと、キャッシュは有効になり、タイムアウトはデフォルトの60(分)になります。

セキュリティの構成

<PolicyReference>要素を使用して、Webサービス・バインディングのセキュリティ・ポリシーを構成します。「PolicyReference要素」も参照してください。

次のセキュリティ・メカニズムがサポートされます。supported:

- メッセージ保護付きユーザー名トークン(WS-Security 1.1)

- メッセージ保護付きX509証明書認証 (WS-Security 1.1)

- メッセージ保護付き匿名(WS-Security 1.1)

- メッセージ保護付きSAMLトークン(送信者保証)を使用したID伝播 (WS-Security 1.1)

- SSLを使用したユーザー名トークン

- SSLを使用したSAMLトークン(送信者保証)

SCAサービス用のセキュリティ構成の例を例8-3に示します。

例8-3 セキュリティ構成の例

<sca:service
name="SCAServicePolicy"
type="com.oracle.test.SayHelloRefImpl"
target="hello2">
<binding.ws
xmlns="http://xmlns.oracle.com/weblogic/weblogic-sca-binding"
name="mypolicysvcname"
port="uri:myns#wsdl.endpoint(mypolicysvc/mypolicyport)"
uri="/mypolicyuri">
<PolicyReference
xmlns="http://schemas.xmlsoap.org/ws/2004/09/policy"
uri="policy:Wssp1.2-Https-UsernameToken-Plain.xml"
direction="inbound" />
</binding.ws>
</sca:service>

SCAサービスまたは参照がOracle Web Services Manager(OWSM)セキュリティ・ポリシーを使用することを指定するには、WebLogicセキュリティ・ポリシーのかわりに、オプションのweblogic.sca.binding.ws.usingOwsmPoliciesプロパティをtrueに設定します。例8-4および例8-5に、それぞれSCAサービスおよびSCA参照用に指定されたOWSMポリシーを示します。

例8-4 OWSMポリシーを使用したSCAサービス用のセキュリティ構成

<sca:service name="SCAServicePolicy"
type="com.oracle.test.SayHelloRefImpl"
target="hello2">
<binding.ws xmlns="http://xmlns.oracle.com/weblogic/weblogic-sca-binding"
name="mypolicysvcname"
port="uri:myns#wsdl.endpoint(mypolicysvc/mypolicyport)"
uri="/mypolicyuri">
<PolicyReference xmlns="http://schemas.xmlsoap.org/ws/2004/09/policy"
uri="policy:oracle/wss_username_token_service_policy" />
<property name="weblogic.sca.binding.ws.usingOwsmPolicies">true</property>
</binding.ws>
</sca:service>

例8-5 OWSMポリシーを使用したSCA参照用のセキュリティ構成

<sca:reference name="SCAReferenceOwsmUNTPolicy"
type="com.oracle.test.SimpleSayHello">
<binding.ws xmlns="http://xmlns.oracle.com/weblogic/weblogic-sca-binding"
location="http://adc2101232:7001/jscaowsm/myowsmuriunt12"
port="http://test.oracle.com#wsdl.endpoint(myowsmsvcname/myowsmport)"
soapVersion="1.2">
<PolicyReference xmlns="http://schemas.xmlsoap.org/ws/2004/09/policy"
uri="policy:oracle/wss_username_token_client_policy" />
<property name="weblogic.sca.binding.ws.usingOwsmPolicies">true</property>
</binding.ws>
</sca:reference>

OWSMポリシーについての詳細は、「Oracle WebLogic ServerのWebLogic Webサービスの保護」の「Oracle Web Services Managerセキュリティ・ポリシーの使用」を参照してください。

データ・バインディングの構成

次のようにデータ・バインディングを指定します。

- 使用するデータ・バインディングのタイプを<binding.ws>のdatabinding属性に指定します。

- SDOおよびカスタマイズ・ファイルの場合、追加の詳細を<binding.ws>の<property>サブ要素に指定します。

様々な種類のデータ・バインディングの構成についての詳細は、次を参照してください。

- TopLink/EclipseLink JAXBバインディングの構成。

- TopLink/EclipseLink SDO データ・バインディングの構成

- Glassfish JAXBデータ・バインディングの構成

- カスタム・データ・バインディングの構成

データ・バインディングのタイプが指定されない場合、toplink.jaxbが使用されます。

TopLink/EclipseLink JAXBバインディングの構成

TopLink/EclipseLink JAXBデータ・バインディングを構成するには、binding.ws要素のdatabinding属性の値としてtoplink.jaxbを入力します。

注意:
これはデフォルトのデータ・バインディング・タイプです。databinding属性に何も指定しない場合、toplink.jaxbが使用されます。

TopLink/EclipseLink JAXBデータ・バインディングの例を例8-7に示します。

例8-6 TopLink/EclipseLink JAXBデータ・バインディング

<sca:service
name="SCAComplexService" type="com.oracle.test.ComplexHello"
target="complexHello">
<wlsb:binding.ws
name="mycomplexsvc"
port="mycomplexport" uri="/mycomplexsvcuri"
databinding="toplink.jaxb"/>
</sca:service>

TopLink/EclipseLink SDOデータ・バインディングの構成

TopLink/EclipseLink SDOデータ・バインディングを構成するには次の手順に従います。

1. <binding.ws>要素で、 databinding属性の値としてtoplink.sdoを入力します。

2. <binding.ws>の<property>サブ要素で次のことを行います。

1. weblogic.sca.binding.ws.sdoSchemaFileをname属性の値として入力します。

2. SDOバインディングのスキーマ・ファイルの場所を要素のコンテンツとして入力します。パスはアプリケーション・ルートに対し相対的であり、スキーマ・ファイルはアプリケーションにバンドルされる必要があります。

TopLink/EclipseLink SDOデータ・バインディングの例を例8-7に示します。

例8-7 TopLink/EclipseLink SDOデータ・バインディング

<sca:service name="SCASDOService"
type="com.oracle.test.sdo.HelloSDO" target="sdoHello">
<wlsb:binding.ws
name="mysdosvc"
port="mysdoport" uri="/mysdosvcuri"
databinding="toplink.sdo">
<property name="weblogic.sca.binding.ws.sdoSchemaFile">
MySDO.xsd
</property>
</wlsb:binding.ws>
</sca:service>

Glassfish JAXBデータ・バインディングの構成

Glassfish JAXBデータ・バインディングを構成するには、glassfish.jaxbをbinding.ws要素のdatabinding属性の値として入力します。

Glassfish JAXBバインディングの例を例8-8「Glassfish JAXBデータ・バインディング」に示します。

例8-8 Glassfish JAXBデータ・バインディング

<sca:service
name="SCAComplexService" type="com.oracle.test.ComplexHello"
target="complexHello">
<wlsb:binding.ws
name="mycomplexsvc"
port="mycomplexport" uri="/mycomplexsvcuri"
databinding="glassfish.jaxb"/>
</sca:service>

カスタム・データ・バインディングの構成

Webサービス・バインディング上の追加情報を提供する外部データ・バインディング・カスタマイズXMLファイルを提供できます。このファイルはJava Webサービス・エンドポイントの属性を定義するマッピング・メタデータを提供します。外部カスタマイズ・ファイルを使用してWSDLとスキーマの両方をカスタマイズできます。

カスタマイズ・ファイルの使用の1つの例は、SCAサービス用のコントラクト・クラスにWebサービス処理として公開したい過負荷メソッドが含まれる場合です。このカスタマイズ・ファイルを使用してWebサービスの処理名を明確にできます。

もう1つの例(スキーマのカスタマイズ)は生成された複合タイプの要素の名前または順序の変更です。

カスタム・データ・バインディングの構成の手順

カスタム・データ・バインディングを構成するには、次の手順に従います。

1. カスタマイズ・ファイルを実装クラス・ファイルと同じ場所に作成します。また、カスタマイズ・ファイルのスキーマweblogic-wsee-databinding.xsdはアプリケーションにバンドルされる必要があります。スキーマについては、「WebLogic SCAデータ・バインディング記述子スキーマ(weblogic-wsee-databinding.xsd)」を参照してください。
このスキーマは3種類のXML構成を定義します。

1. JAX-WSおよびJSR 181(Javaプラットフォーム用Webサービス・メタデータ)での構成に類似した構成。これらの構成は(a)サービス・エンドポイント・インタフェース(SEI)の属性をオーバーライドまたは定義、および(b)通常、SEIのインタフェースで使用される値タイプに対するJava Architecture for XML Binding(JAXB)注釈の一部となる情報をオーバーライドまたは指定します。

2. 標準のJAX-WSまたはJAXB通知を使用しては使用できず、主にjava.util.Collections API.とともに使用する追加のマッピング仕様。

3. Toplink Object-XML(OXM)ファイルからの外部JAXBマッピング・メタデータへの参照。これはtoplink.jaxbデータ・バインディングにのみ関連します。

構成がJAX-WS、JSR 181またはJAXB注釈に直接類似している場合、スキーマには次のような注釈付きのコメントが含まれます。

Corresponding Java annotation javax.jws.WebParam.Mode

2. <binding.ws>の<property>サブ要素で次のことを行います。

- weblogic.sca.binding.ws.externalCustomizationFileをname属性の値として入力します。

- カスタマイズ・ファイルの名前を<property>要素のコンテンツとして入力します。

カスタム・データ・バインディングの例

カスタマイズ・ファイルを指すように構成された<property>要素の例を次の例8-10に示します。

例8-9 カスタマイズ・ファイル参照

<sca:service name="SCAServiceOverloaded"
type="com.oracle.test.SayHelloOverloaded" target="overloadedHello">
<wlsb:binding.ws"
name="myoverloadedsvcname" port="myoverloadedportname"
uri="/myoverloadedsvcnameuri">
<property
name="weblogic.sca.binding.ws.externalCustomizationFile">overloading_mapping_file.xml
</property>
</wlsb:binding.ws>
</sca:service>

カスタマイズ・ファイルの例を次の例8-10に示します。これはPOJOの過負荷sayHello()メソッドのサポート方法を示します。このメソッドはsayHelloおよびsayHelloWithStringと呼ばれるWSDLの2つの操作にマップされます。

例8-10 データ・バインディング・カスタマイズ・ファイル(1)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<java-wsdl-mapping name="com.oracle.test.SayHelloOverloaded"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-wsee-databinding"
xmlns:oxm="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
databinding="toplink.jaxb">
<java-methods>
<java-method name="sayHello">
<web-method operation-name="sayHello"/>
</java-method>
<java-method name="sayHello">
<web-method operation-name="sayHelloWithString"/>
<java-params>
<java-param java-type="java.lang.String"/>
</java-params>
</java-method>
</java-methods>
</java-wsdl-mapping>

次の例8-11に示すカスタマイズ・ファイルでは、生成されたスキーマ内の要素の順番をカスタマイズするインライン<toplink-oxm>要素の使用を表します。この例ではShoppingCartItemオブジェクトに対して生成されたスキーマに、quantity、priceおよびidプロパティがデフォルトの順序ではなく指定した順序で含まれることを指定します。

例8-11 データ・バインディング・カスタマイズ・ファイル(2)

<java-wsdl-mapping name="com.oracle.test.GetPriceRemote"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-wsee-databinding"
xmlns:oxm="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
databinding="toplink.jaxb">
<xml-schema-mapping>
<toplink-oxm java-package="com.oracle.test">
<oxm:xml-bindings>
<oxm:xml-schema/>
<oxm:java-types>
<oxm:java-type name="com.oracle.test.ShoppingCartItem">
<oxm:xml-type prop-order="quantity price id“/>
</oxm:java-type>
</oxm:java-types>
</oxm:xml-bindings>
</toplink-oxm>
</xml-schema-mapping>
</java-wsdl-mapping>

SOAP添付のデータ・バインディングの構成

Simple Object Access Protocol(SOAP)添付はTopLink/EclipseLink JAXBデータ・バインディングを使用する場合にサポートされます。次のタイプがサポートされます。

- SOAPメッセージ転送最適化メカニズム(MTOM)

- 添付付きSOAPメッセージ(SwA)

SOAP添付用のデータ・バインディングを構成するには、次の手順に従います。

1. toplink.jaxbをbinding.ws要素databinding属性として入力して、TopLink/EclipseLink JAXBデータ・バインディングを指定します。

注意:
toplink.jaxbはdatabindingのデフォルトの値なので、実際にはこの手順は必要ありません。ただし、他の値をdatabindingに使用することはできません。

2. 次の項の説明に従い、MTOMまたはSwAに対して構成します。

- MTOMを使用した添付の構成。

- SwAを使用した添付の構成。

MTOMを使用した添付の構成

次のいずれかの方法でMTOMを有効にします。

1. 例8-12に示すように、@MTOM注釈をSEIまたはコントラクト・クラスに置きます。これにより base64Binaryタイプ用のMTOMが有効になります。

例8-12 @MOM注釈の例

@MTOM
public class SayHelloMtom {
public HasArray modifyArray(String name, int b) {
HasArray ha = new HasArray();
ha.b = b;
ha.arr = ("<?xml version='1.0' ?><z>" + name + "</z>").getBytes();
return ha;
}
}

2. 例8-13に示すように、<mtom>要素を外部マッピング・ファイルの<java-wsdl-mapping>要素の直下の子として含めます。<mtom>要素の属性はオプションです。enabledのデフォルトはtrueで、thresholdのデフォルトは0です。

例8-13 外部マッピング・ファイルのmtom要素

<java-wsdl-mapping name="com.hello.sei.MyServiceEndpointInterface"
<web-service name="hello-ws" target-namespace="hello-ns"/>
<mtom enabled="true" threshold="50"/>
...

次の例で、外部カスタマイズ・ファイルを使用し、SCA POJOでMTOMを有効にしてWebサービスのエンドポイントとして使用することを説明します。

- 例8-14に、外部カスタマイズ・ファイルmtomCustomizationMapping.xmlへの参照を含む、Springコンテキストを示します。

- 例8-15に、外部カスタマイズ・ファイルmtomCustomizationMapping.xmlを示します。

- 例8-16に、例としてのJavaクラスを示します。

例8-14 Springコンテキスト

<sca:service name="SCAMtomService" type="com.oracle.test.SayHelloMtom" target="helloMtom">
<binding.ws
xmlns="http://xmlns.oracle.com/weblogic/weblogic-sca-binding"
name="myMtomSvc"
port="myMtomPort"
uri="/myMtomSvcUri"
databinding="toplink.jaxb">
<property
name="weblogic.sca.binding.ws.externalCustomizationFile">mtomCustomizationMapping.xml
</property>
</binding.ws>
</sca:service>

例8-15 外部カスタマイズ・ファイルmtomCustomizationMapping.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<java-wsdl-mapping name="com.oracle.test.SayHelloMtom"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-wsee-databinding"
xmlns:oxm="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
databinding="toplink.jaxb">
<xml-schema-mapping>
<toplink-oxm java-package="com.oracle.test">
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm">
<java-types>
<java-type name="com.oracle.test.HasArray">
<java-attributes>
<xml-element java-attribute="arr" xml-mime-type="text/xml" />
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
</toplink-oxm>
</xml-schema-mapping>
<mtom threshold="2"/>
</java-wsdl-mapping>

例8-16 Javaクラス

//SayHelloMtom.java
public class SayHelloMtom {
public HasArray modifyArray(String name, int b) {
HasArray ha = new HasArray();
ha.b = b;
ha.arr = ("<?xml version='1.0' ?><z>" + name + "</z>").getBytes();
return ha;
}
}

//HasArray.java
package com.oracle.test;

public class HasArray {
public byte[] arr = "<?xml version='1.0' ?><xy/>".getBytes();
public int b = 5;
}

SwAを使用した添付の構成

SwA添付タイプSwaRefは次の2つの方法でサポートされます。

1. 例8-17に示すように、DataHandlerタイプ・パラメータおよび/または戻りタイプの@XmlAttachmentRef注釈を使用します。

例8-17 パラメータおよびDataHandlerの注釈

@XmlAttachmentRef
DataHandler echoDataHandler(@XmlAttachmentRef DataHandler dh);

2. 例8-18に示すように、外部カスタマイズ・ファイルのxml-attachment-ref属性を使用します。この例では、例8-19(Springコンテキスト)および例8-20(Javaクラス)とともに、SwAがSCA POJOで有効になり、Webサービスのエンドポイントとして使用されることを示します。

例8-18 外部カスタマイズ・ファイルswaCustomizationMapping.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<java-wsdl-mapping name="com.oracle.test.SayHelloSwa"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-wsee-databinding"
xmlns:oxm="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
databinding="toplink.jaxb">
<xml-schema-mapping>
<toplink-oxm java-package="com.oracle.test">
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm">
<java-types>
<java-type name="com.oracle.test.HasDataHandler">
<java-attributes>
<xml-element java-attribute="data" xml-attachment-ref="true" />
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
</toplink-oxm>
</xml-schema-mapping>
</java-wsdl-mapping>

例8-19 外部カスタマイズ・ファイルへの参照を含むSpringコンテキスト

<sca:service name="SCAMtomService" type="com.oracle.test.SayHelloSwa" target="helloSwa">
<binding.ws
xmlns="http://xmlns.oracle.com/weblogic/weblogic-sca-binding"
name="mySwaSvc"
port="mySwaPort"
uri="/mySwaSvcUri"
databinding="toplink.jaxb">
<property
name="weblogic.sca.binding.ws.externalCustomizationFile">swaCustomizationMapping.xml
</property>
</binding.ws>
</sca:service>

例8-20 Javaクラス

//SayHelloSwa.java
package com.oracle.test;

public class SayHelloSwa {
public HasDataHandler echoDataHandler(HasDataHandler dh) {
return dh;
}
}

//HasDataHandler.java
package com.oracle.test;

import javax.activation.DataHandler;

public class HasDataHandler {
public DataHandler data;
}

例8-20に示すようなHasDataHandlerクラスなどのラッパー・クラスの使用の代替として、DataHandlerをWebサービスへのパラメータとして直接使用します。これを行うには、例8-21に示すようにカスタマイズ・ファイルを変更します。

例8-21 DataHandlerをWebサービスへのパラメータとして使用するカスタマイズ・ファイル

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<java-wsdl-mapping name="com.oracle.test.SayHelloSwa"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-wsee-databinding"
xmlns:oxm="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
databinding="toplink.jaxb">
<java-methods>
<java-method name="echoDataHandler">
<java-params>
<java-param>
<oxm:xml-element xml-attachment-ref="true" xml-mime-type="text/xml"/>
</java-param>
</java-params>
</java-method>
</java-methods>
</java-wsdl-mapping>

対応するSayHelloSwa.javaファイルを例8-22に示します。

例8-22 Javaクラス

//SayHelloSwa.java
package com.oracle.test;

import javax.activation.DataHandler;
import javax.mail.util.ByteArrayDataSource;

public class SayHelloSwa {
public DataHandler echoDataHandler(DataHandler dh) {
byte[] b = new byte[1024];
try {
int len = dh.getInputStream().read(b);
String resp = "<swarefresponse>" + new String(b,0,len) + "</swarefresponse>";
return new DataHandler(new ByteArrayDataSource(resp.getBytes(), "text/xml"));
} catch (Exception e) {
String err = "<err>An error occurred: " + e.getClass().getName() + " - " + e.getMessage() + "</err>";
return new DataHandler(new ByteArrayDataSource(err.getBytes(), "text/xml"));
}
}
}
s

コレクションおよびマップ・オブジェクトの構成

Javaコレクションおよびマップ・オブジェクトはTopLink/EclipseLink JAXBデータ・バインディングを使用する場合にサポートされます。

注意:
java.util.Listおよびjava.util.Mapの組込みJavaサブクラスがサポートされます。多次元サポート(配列の配列、HashMapsの配列、リストのリストなど)は将来のリリースでサポートされる予定です

注釈または外部マッピング・ファイルのいずれかを含むCollection(またはCollectionファミリのメンバー)の一般タイプ引数を表現できます。たとえば、processItems2メソッドが例8-24に示す外部マッピング・ファイルを使用する場合、例8-23に示すインタフェースでの2つのメソッドはその入力タイプにおいて等価です。

例8-23 インタフェースでのメソッド(1)

public interface CollectionProcessor {
public String processItems1(Collection<ItemType> items);
public String processItems2(Collection items);
}

例8-24に、例8-23に示すprocessItems2メソッド用の外部マッピング・ファイルの一部を示します。

例8-24 コレクション・オブジェクトの構成用の外部マッピング・ファイル[1]

<java-method name="processItems2">
<java-params>
<java-param>
<oxm:xml-element type="mypackage.ItemType"/>
</java-param>
</java-params>
</java-method>

例8-25にコレクション・オブジェクトの構成用の外部マッピング・ファイルの別の例を示します。

例8-25 コレクション・オブジェクトの構成用の外部マッピング・ファイル[2]

<java-method name="testListOfCustomer">
<java-params>
<java-param>
<oxm:xml-element type="mypackage.Customer"/>
</java-param>
</java-params>
</java-method>

マップの一般タイプの外部化

現在、一般タイプの外部化はjava.util.Mapタイプに対し直接サポートされません。

ただし、マップの一般タイプを直接Javaクラスに指定することはできなくても、toplink.jaxbバインディングのXMLタイプ・アダプタ機能を使用すれば間接的にサポートできます。例8-26、例8-27および例8-28に示すように、これには必要な一般マップ・タイプ用のカスタム・シリアライザの作成および外部マッピング・ファイルでのカスタム・シリアライザの指定が含まれます。

例8-26 Webサービスとして公開されるPOJO(マップの一般タイプなし)

//Implementation class
public class CollectionMapExtTypeArgImpl {
public Map testMapOfCustomAdapters(Map map) {
//implementation goes here
}
}

例8-27 カスタム・アダプタ・クラス

//Custom Adapter class for Map<String, Integer> (JAXB Xml Adapter)
public class MapStringIntegerAdapter extends XmlAdapter<MapStringInteger, HashMap> {
public HashMap unmarshal(MapStringInteger m) throws Exception {
HashMap map = new HashMap();
for (StringIntegerEntry e: m.entry) map.put(e.key, e.value);
return map;
}
public MapStringInteger marshal(HashMap m) throws Exception {
MapStringInteger map = new MapStringInteger();
map.entry = new ArrayList<StringIntegerEntry>();
for (Object k: m.keySet()) {
StringIntegerEntry e = new StringIntegerEntry();
e.key = (String) k;
e.value = (Integer) m.get(k);
map.entry.add(e);
}
return map;
}
}

//MapStringInteger.java
public class MapStringInteger {
public static class StringIntegerEntry {
@XmlAttribute
public String key;
@XmlValue
public Integer value;
}
public List<StringIntegerEntry> entry;
}

//Similar implementation for MapStringCustomerAdapter would be needed

例8-28 マップ<String, Integer>の戻りタイプおよびマップ<String, Customer>のパラメータ・タイプを示すカスタマイズ・ファイルの一部

<java-method name="testMapOfCustomAdapters">
<oxm:xml-element xmlns='http://www.eclipse.org/eclipselink/xsds/persistence/oxm'>
<oxm:xml-java-type-adapter value='com.oracle.test.MapStringIntegerAdapter'/>
</oxm:xml-element>
<java-params>
<java-param>
<oxm:xml-element xmlns='http://www.eclipse.org/eclipselink/xsds/persistence/oxm'>
<oxm:xml-java-type-adapter value='com.oracle.test.MapStringCustomerAdapter'/>
</oxm:xml-element>
</java-param>
</java-params>
</java-method>

構成設定の優先度

データバインディング・モード、SOAPバージョン、ターゲット・ネームスペース、サービス名、ポート名などのいくつかの構成設定は複数の場所に指定できます。これらの設定のいずれかが複数の場所に指定される場合、次の優先順位に従って評価されます。

1. 構成オプションがbinding.ws構成のSpringコンテキストで指定されている(および空でない)場合、その設定が使用されます。この設定が他のすべてに優先します。

2. 構成オプションがbinding.ws構成のSpringコンテキストで指定されていない場合、外部カスタマイズ・ファイルの値が使用されます。この設定が次の3に優先します。

3. 構成オプションがSpringコンテキストまたは外部カスタマイズ・ファイルで指定されていないが、POJOの注釈で指定されている場合、そのPOJOの注釈が使用されます。

デプロイメント

デプロイメント時に、WebLogic SCAランタイムは次を実行します。

1. サービス・インタフェース情報を使用してWSDLを生成します。

2. 指定したURI(コンテキスト・ルートに対し相対的)でJAX-WSエンドポイントとしてサービスを公開します。

ランタイム

Webサービス・バインディングのランタイム動作を次に説明します。

サービス・リクエスト

サービスへのリクエストは次のように処理されます。

1. 適切なデータ・バインディングが受信SOAPメッセージ・ペイロードをJavaオブジェクトに変換します。

2. ポリシーがJAX-WSランタイムにより処理されます。

3. サービスを実装するPOJOがWebLogic SCAランタイムにより起動されます。

参照の起動

WebLogic SCAランタイムは、参照の起動が外部参照に対するものであることを認識します。これは外部Webサービスに対するJAX-WSクライアントとして動作し、結果をJavaへアンマーシャリングして、呼び出し側Javaコードに透過的な方法でそれを戻します。

9 WebLogic Spring SCAアプリケーションのデプロイ

この章では、WebLogic Spring SCAアプリケーションをOracle WebLogic Serverにデプロイする方法について説明します。

- デプロイメント・ユニットの準備

- デプロイメント記述子の構成

- バンドリング・ライブラリ

- クラスタでのデプロイ

- 他のツールを使用したWebLogic Spring SCAアプリケーションのデプロイ

- ランタイム

注意:
SCAコンポジットのコンポーネントとしてのWebLogic Spring SCAアプリケーションの使用のサポートは、Oracle SOAスイートの現在のリリースでテクニカル・プレビューとして提供されています。ただし、この機能に関するドキュメントは、Oracle SOAスイートではまだ提供されていません。

デプロイメント・ユニットの準備

WebLogic SCAランタイムはエンタープライズ・アーカイブ(EAR)およびWeb アーカイブ(WAR)形式をデプロイメント・ユニットとしてサポートします。

通常のWebLogic SCAアプリケーションは、META-INF/jsca/ディレクトリのSpringアプリケーション・コンテキスト・ファイルを、アプリケーションのPOJOクラスとバンドルします。

WebLogic Spring SCAアプリケーションのEARアーカイブの構成を例9-1に示します。

例9-1 サンプルWebLogic Spring SCAアプリケーションEAR

META-INF/application.xml
META-INF/weblogic-application.xml
META-INF/jsca/spring-context.xml
MyEJBApp.jar
MyWebApp.war
APP-INF/lib/MyScaClasses.jar
META-INF/jsca/spring-context.xml
APP-INF/classes/MyScaPojo.class

サンプルWebLogic Spring SCAアプリケーションのWARアーカイブの構成を例9-2に示します。

例9-2 サンプルWebLogic Spring SCAアプリケーションWAR

WEB-INF/web.xml
WEB-INF/weblogic.xml
WEB-INF/lib/MyScaClasses.jar
META-INF/jsca/spring-context.xml
MyScaPojo1.class
MyScaPojo2.class

デプロイメント記述子の構成

<library-ref>要素をアプリケーションのデプロイメント記述子に追加する必要があります。

共有Webアプリケーション・ライブラリを参照する場合、オプションの<context-root>要素を追加してライブラリ・モジュールのコンテキスト・ルートを宣言することもできます。これにより、コンテキスト・ルートが構成された値に確実に設定され、同じサーバーにデプロイされて同じ共有ライブラリを参照する他のWebLogic SCAアプリケーションと競合しないようにできます。

注意:
各WebLogic Spring SCAアプリケーションに一意の<context-root>を指定することをお薦めします。複数のアプリケーションが1つのサーバーまたはクラスタにデプロイされている場合、各アプリケーションにはweblogic-sca-1.0.warへの独自のライブラリ参照があります。各WebLogic SCAアプリケーションはweblogic-sca-1.0.warで指定したデフォルトのコンテキスト・ルートを使用するため、アプリケーションごとに異なるコンテキスト・ルートを指定しないと、コンテキスト・ルートが競合することになります。

例9-3に、EARのweblogic-application.xml記述子の<library-ref>および<context-root>の例を示し、例9-4に、WARのweblogic.xml記述子の<library-ref>および<context-root>の例を示します。

例9-3 weblogic-application.xmlのlibrary-ref要素

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
<library-ref>
<library-name>weblogic-sca</library-name>
<context-root>weblogic-sca-ctx-root1</context-root>
</library-ref>
</weblogic-application>

例9-4 weblogic.xmlのlibrary-ref要素

<?xml version="1.0" encoding="UTF-8859-1"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
<library-ref>
<library-name>weblogic-sca</library-name>
<context-root>weblogic-sca-ctx-root1</context-root>
</library-ref>
</weblogic-application>

バンドリング・ライブラリ

WebLogic Spring SCAアプリケーションはEARの場合APP-INF/libの下(WARの場合はWEB-INF/libの下)のspring.jarをバンドルする必要があります。Springにはcommons-loggingへの依存があるので、jarはアプリケーションともバンドルされる必要があります。

WebLogic SCAはSpring 2.0.6以降をサポートします。Spring 2.5.3をお薦めします。

クラスタでのデプロイ

WebLogic Spring SCAアプリケーションは均一なクラスタ環境にデプロイできます。クラスタ・デプロイメントはアプリケーションを各ノードにデプロイし、ほとんどのリクエスト処理はステートレス(ステートフルな処理は自分の状態を保管するのにデータベースを使用)なので、ロード・バランサまたはプラグインはどのノードにもリクエストをルーティングできます。

他のツールを使用したWebLogic Spring SCAアプリケーションのデプロイ

Oracle Enterprise Pack for Eclipse(OEPE)およびOracle JDeveloperを使用して、WebLogic Spring SCAアプリケーションをスタンドアロンWebLogic Serverにデプロイすることもできます。これらのツールでのWebLogic SCAサポートの詳細は、第3章「ツールのサポート」を参照してください。

ランタイム

WebLogic Spring SCAアプリケーションがデプロイされると、そのサービスは適切なバインディング・コンポーネントの実装により公開されます。binding.wsで定義されたサービスの場合、Webサービス・バインディング・コンポーネントの実装によりWebサービスのエンドポイントが公開されます。binding.ejbで定義されたサービスの場合、EJBバインディング・コンポーネントによりEJBがJNDIで使用可能になります。

同じアプリケーション内でのデプロイ中に複数のSpringアプリケーション・コンテキスト・ファイルが使用される場合、WebLogic SCAランタイムは一致するサービスおよび参照をワイヤリングし、内部ワイヤリング用のバインディングを無視します。これにはsca:reference要素でオプションのdefault属性の使用が必要です。詳細は、「sca:reference要素」を参照してください。

注意:
2つまたはそれ以上のSpringアプリケーション・コンテキスト・ファイルを含むWebLogic Spring SCAアプリケーションは、Oracle SOA内の他のコンポジットにのみネストできますが、これは包含SCDLファイルが必要なためです。

10 WebLogic SCAアプリケーション構成の表示

WebLogic Spring SCAアプリケーションの構成の詳細をWebLogic Server管理コンソールで表示できます。そのためには、次の説明に従い、WebLogic SCAコンソール拡張を有効にする必要があります。

前提条件

コンソール拡張でアプリケーションの構成を表示できるようにする前に、次のことを実行する必要があります。

- WebLogic SCAランタイムがデプロイされていない場合はデプロイします。第4章「WebLogic SCAランタイムのWebLogic Serverへのデプロイ」を参照してください。

- 次の説明に従い、weblogic-sca-console拡張を有効にします。

- アプリケーションがデプロイされていない場合はデプロイします。第9章「WebLogic Spring SCAアプリケーションのデプロイ」を参照してください。

拡張を有効にする手順

コンソール拡張を有効にするには、次を実行します。

1. WebLogic Server管理コンソールを開始します。

2. 管理コンソールの右ペインの最上部にあるバナー・ツールバー領域で、「プリファレンス」をクリックします。

3. 「拡張」タブをクリックします。

4. weblogic-sca-consoleの隣のチェックボックスを選択します。

5. 「有効化」をクリックします。

6. 管理サーバーを再起動します。

構成を表示する手順

構成されたサービスおよび参照の詳細を表示するには、次を実行します。

1. コンソールの左のペインで 「デプロイメント」を選択します。

2. 「デプロイメント」表で、表示する構成を含むWebLogic Spring SCAアプリケーションの名前をクリックします。

3. アプリケーション名の設定のページで、「WebLogic SCA」タブをクリックします。

4. 「WebLogic SCAアーティファクト」表で、表示するサービスまたは参照の名前をクリックします。フィールドの説明は、コンソールの上部のバナー・ツールバー領域の「ヘルプ」をクリックします。

A WebLogic SCAスキーマ

WebLogic SCAでは次のスキーマを使用します。

- WebLogic Spring SCAスキーマ(weblogic-sca.xsd)

- WebLogic SCAバインディング・スキーマ(weblogic-sca-binding.xsd)

- Webサービス・ポリシー・スキーマ(ws-policy.xsd)

- WebLogic SCAデータ・バインディング・カスタマイズ記述子スキーマ(weblogic-wsee-databinding.xsd)

WebLogic Spring SCAスキーマ(weblogic-sca.xsd)

WebLogic SCAはOASISのSpring SCAスキーマへの拡張を提供し、WebLogic SCAアプリケーションを構成するSpringアプリケーション・コンテキストで使用されるsca:referenceおよびsca:service要素をサポートします。スキーマはhttp://www.oracle.com/technology/weblogic/weblogic-sca/1.0/weblogic-sca.xsdで取得できます。

このスキーマの使用方法の詳細は、第6章「Springアプリケーション・コンテキストの構成」を参照してください。

注意:
完全なOASISのSpring SCAスキーマについてはSCA Springコンポーネントの実装仕様(http://www.oasis-open.org/committees/download.php/25529/sca-springci-draft-20070926.doc)の付録Aを参照してください。

WebLogic SCAバインディング・スキーマ(weblogic-sca-binding.xsd)

binding.ejb要素およびbinding.ws要素はweblogic-sca-binding.xsdスキーマに定義されます。このスキーマはhttp://xmlns.oracle.com/weblogic/weblogic-sca-binding/1.0/weblogic-sca-binding.xsdで取得できます。

binding.ejb要素を使用してEJBセッションBeanバインディングを構成する方法の詳細は、第7章「EJBセッションBeanバインディングの構成」を参照してください。

binding.ws要素を使用してWebサービス・バインディングを構成する方法の詳細は、第8章「Webサービス・バインディングの構成」を参照してください。

Webサービス・ポリシー・スキーマ(ws-policy.xsd)

例A-1に示すように、Webサービス・バインディングのポリシーはws-policy.xsdスキーマに基づきます。

このスキーマの使用方法の詳細は、「セキュリティの構成」を参照してください。

例A-1 ws-policy.xsdスキーマ

<schema targetNamespace="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:tns="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns="http://www.w3.org/2001/XMLSchema">

<element name="PolicyReference" >
<complexType>
<attribute name="URI" type="anyURI" use="required" />
<attribute name="Digest" type="base64Binary" />
<attribute name="DigestAlgorithm"
type="anyURI"
default="http://schemas.xmlsoap.org/ws/2004/09/policy/Sha1Exc"/>
<anyAttribute namespace="##any" processContents="lax" />
</complexType>
</element>
</schema>

WebLogic SCAデータ・バインディング・カスタマイズ記述子スキーマ(weblogic-wsee-databinding.xsd)

外部データバインディング・カスタマイズXMLファイルを提供するためのスキーマは、http://xmlns.oracle.com/weblogic/weblogic-wsee-databinding/1.2/weblogic-wsee-databinding.xsdで取得できます。

カスタマイズ・ファイルはデータ・バインディング用のマッピング・メタデータを提供します。このデータを使用してJava Webサービスのエンドポイントの属性を定義します。詳細は、「カスタム・データ・バインディングの構成」を参照してください。

Copyright © 2007, 2011, Oracle and/or its affiliates. All rights reserved.