Oracle® Fusion Middleware

Oracle WebLogic Server WebLogic Webサービスの理解

12c (12.2.1)

E69971-01(原本部品番号:E55167-01)

2015年10月

相互運用性および標準情報を含め、Oracle WebLogic Server向けのWebサービスを導入するソフトウェア開発者向けのドキュメントです。

Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの理解, 12c (12.2.1)

E69971-01

Copyright © 2013, 2015, Oracle and/or its affiliates.All rights reserved.

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

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

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

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(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 Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

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

はじめに

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

- 表記規則

このガイドでの新しい情報

- 12c (12.2.1)での新機能と変更された機能

- 12c (12.1.3)での新機能と変更された機能

- 12c (12.1.2)での新機能と変更された機能

1 Oracle WebLogic Webサービスの紹介

- WebLogic Webサービスの概要

- SOAPとRESTのいずれかを選択する際の判断基準

2 WebLogic Webサービスでサポートされる機能および基準

- JAX-WS 2.2 RI/JDK 7.0の拡張に関する注意事項

- Apache XMLBeans 2.0

- Fast Infoset

- Java API for RESTful Web Services (JAX-RS)

- Java API for XML-based RPC (JAX-RPC) 1.1

- Java API for XML-based Web Services (JAX-WS) 2.2

- Java Architecture for XML Binding (JAXB) 2.2

- JSR 109: Implementing Enterprise Web Services 1.3

- Security Assertion Markup Language (SAML) 2.0および1.1

- Security Assertion Markup Language (SAML) Token Profile 1.1および1.0

- Simple Object Access Protocol (SOAP) 1.1および1.2

- SOAP over JMSトランスポート1.0

- SOAP with Attachments API for Java (SAAJ) 1.3

- Web Application Description Language (WADL) 2009 Membership Submission

- Web Services Addressing (WS-Addressing) 1.0および2004/08 Member Submission

- Web Services Atomic Transaction (WS-AtomicTransaction) Version 1.2、1.1、および1.0

- Web Services Coordination (WS-Coordination) Version 1.2、1.1、および1.0

- Web Services Description Language (WSDL) 1.1

- Web Services MakeConnection 1.1

- Web Services Metadata for the Java Platform 2.0 (JSR-181)

- Web Services Policy Attachment (WS-Policy Attachment) 1.5および1.2

- Web Services Policy Framework (WS-Policy) 1.5および1.2

- Web Services Reliable Messaging (WS-ReliableMessaging)

- Web Services Reliable Messaging Policy Assertion (WS-RM Policy)

- Web Services Secure Conversation Language (WS-SecureConversation)

- Web Services Security (WS-Security) 1.1および1.0

- Web Services Security Policy (WS-SecurityPolicy) 1.3

- Web Services Trust Language (WS-Trust)

- WebLogic Webサービスでサポートされるその他の仕様

3 開発ツールおよび管理ツールの使用

- Oracle IDEを使用したWebサービスの開発

- 管理ツールを使用したWebLogic Webサービスの管理、テストおよびモニター

- Oracle Enterprise Manager Fusion Middleware Controlの使用

- Oracle WebLogic Server管理コンソールの使用

- 管理コンソールの起動

- 管理コンソールでのWebサービスの表示

- Webサービスのセキュリティ構成の作成

- Oracle WebLogic Scripting Toolの使用

- Oracle WebLogic Server Antタスクの使用

- WebLogic Antタスクのクラスパスの設定

- WSDLおよびXMLスキーマ・ファイルの操作時におけるオペレーティング・システムの大文字/小文字の区別の違い

- Java Management Extensions (JMX)の使用

- Java EEデプロイメントAPIの使用

- WebサービスApache Mavenゴールの使用

4 ロードマップと関連情報

- WebLogic Webサービスを実装するためのロードマップ

- WebLogic Webサービス・ドキュメント・セット

- 関連ドキュメント - WebLogic Serverアプリケーションの開発

5 Microsoft WCF/.NETとの相互運用性

- 基本データ型の相互運用性ガイドライン

- Basic Profileの相互運用性ガイドライン

- Web Services Reliable Secure Profileの相互運用性ガイドライン

- WS-Securityの相互運用性ガイドライン

- WS-SecurityPolicyの相互運用性ガイドライン

- WS-SecureConversationの相互運用性ガイドライン

- SignedInfoから参照するSAMLアサーションの使用

6 Java EE Webサービス開発者向けサンプル

- WebLogic Webサービス開発者向けサンプル

- WebLogic Server配布キットのWebサービス・サンプル

- Avitek Medical Recordsアプリケーション(MedRec)とチュートリアル

- ダウンロード可能な他のWebサービス・サンプル

はじめに

ここでは、このガイド『Oracle WebLogic Server WebLogic Webサービスの理解』で使用されるドキュメントのアクセシビリティ機能および表記規則について説明します。

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

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、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このガイドでの新しい情報

次のトピックでは、WebLogic Webサービスの新機能と変更された機能、およびこのガイドに記載されているその他の重要な変更について紹介し、詳細情報へのリンクを提供します。このドキュメントは、以前は『Oracle WebLogic Server WebLogic Webサービスの紹介』と呼ばれていたドキュメントの新版です。

12c (12.2.1)での新機能と変更された機能

このドキュメントに記載されているOracle Fusion Middleware 12c (12.2.1)の新機能と変更された機能は次のとおりです。

- Jersey 2.x Java API for RESTful Web Services (JAX-RS) 2.0参照実装(RI)のサポートがデフォルトの実装として反映されています。

- Java API for XML Registries (JAXR)のサポートが削除されました。

12c (12.1.3)での新機能と変更された機能

このドキュメントに記載されているOracle Fusion Middleware 12c (12.1.3)の新機能と変更された機能は次のとおりです。

- 事前構築済の共有ライブラリとしてのJersey 2.5.1 Java API for RESTful Webサービス(JAX-RS) 2.0参照実装(RI)のサポートが反映されています。

- 次のサポートが反映されています。Jersey 1.18 JAX-RS 1.1参照実装。

12c (12.1.2)での新機能と変更された機能

このドキュメントに記載されているOracle Fusion Middleware 12c (12.1.2)の新機能と変更された機能は次のとおりです。

- 第2章「WebLogic Webサービスでサポートされる機能および基準」で説明されている、サポートされる新機能のリスト。次の機能が含まれます。

- JAX-WS WebサービスでサポートされるSOAP over JMSトランスポート。

- JAX-WS WebサービスでサポートされるFast Infoset。

- JAX-WSおよびJAX-RS Webサービス・クライアントでサポートされるスタンドアロンJava SEクライアント・アクセス。

- 第2章「WebLogic Webサービスでサポートされる機能および基準」で説明されている、サポートされる標準の更新されたバージョン。次のバージョンが含まれます。

標準

12cバージョン

11gバージョン

JSR 109: Implementing Enterprise Web Services

1.3

1.2

Java API for XML-based Web Services (JAX-WS)

2.2

2.1

Java API for RESTful Web Services (JAX-RS)

1.1 (Jersey 1.13 JAX-RS RI)

1.1 (Jersey 1.9 JAX-RS RI)

Java Architecture for XML Binding (JAXB)

2.2

2.1

Web Services Security Policy (WS-SecurityPolicy)

1.3

1.2

Web Services Addressing (WS-Addressing)

1.0および2004/08

1.0

- WebLogic Serverは、新しいWebサービスMavenゴール(ws-clientgen、ws-wsdlc、ws-jwscなど)をサポートします。詳細は、第3章の「WebサービスApache Mavenゴールの使用」を参照してください。

1 Oracle WebLogic Webサービスの紹介

この章では、Oracle WebLogic (Java EE) Webサービスの概要を示します。

この章の内容は次のとおりです:

- WebLogic Webサービスの概要

- SOAPとRESTのいずれかを選択する際の判断基準

このマニュアルおよびこの他のマニュアルに、なじみのない用語が出てきた場合は、用語集で定義を確認してください。

WebLogic Webサービスの概要

WebLogic Serverは、表1-1に示したWebサービス・タイプをサポートしています。Webサービスの概要と利点については、『Webサービスの理解』の「Webサービスとは」を参照してください。

表1-1 WebLogic Webサービスのタイプ

Webサービス・タイプ

説明

Java API for XML-Based Web Services (JAX-WS) 2.2

Oracle WebLogic ServerのJAX-WS実装は、JAX-WS参照実装(RI)から拡張されて、Glassfish Communityによって開発されます(https://jax-ws.java.net/を参照してください)。

JAX-WSの詳細は、次を参照してください。

- Oracle WebLogic Server JAX-WS Webサービスの開発

- JAX-WS仕様: http://jcp.org/aboutJava/communityprocess/mrel/jsr224/index2.html

Java API for RESTful Web Services (JAX-RS)

WebLogic Serverでは、Jersey 2.x JAX-RS 2.0参照実装(RI)がサポートされています。

JAX-RSの詳細は、次を参照してください。

- Oracle WebLogic Server RESTful Webサービスの開発と保護

- JAX-RS仕様: https://jcp.org/en/jsr/detail?id=339

Java API for XML-Based RPC (JAX-RPC) 1.1

JAX-RPCは、レガシーな仕様と位置づけられ、これ以上の拡張は予定されていません。JAX-RPCは、APIおよびJavaプラットフォームでXML Webサービスをサポートするための規約を定義し、WS-I Basic Profileをサポートすることで、JAX-RPC実装間の相互運用性を高めています。

JAX-WSの詳細は、次を参照してください。

- Oracle WebLogic Server JAX-RPC Webサービスの開発

- JAX-RPC仕様: https://java.net/projects/jax-rpc/

SOAPとRESTのいずれかを選択する際の判断基準

次の表は、SOAPとRESTのいずれかを選択する際の検討事項に関するガイドラインを記載しています。

WebLogic Serverでは、SOAP WebサービスはJAX-WSを使用して実装され、RESTful WebサービスはJAX-RSを使用して実装されます。JAX-WSおよびJAX-RSにサポートされる標準の比較については、第2章「WebLogic Webサービスでサポートされる機能および標準」も参照してください。

表1-2 SOAP WebサービスとRESTful Webサービスのいずれかを選択する際の判断基準

使用する技術

次のシナリオを検討します。

SOAP

次のようなエンタープライズ・アプリケーション統合シナリオでは、JAX-WSを使用してSOAP Webサービスを実装します。

- 高度なサービスの質(QoS)要件があります。

- Plain Old Java Objects (POJO)またはEnterprise JavaBeans (EJB)などのJavaコンポーネントでリモートでメソッドを呼び出す必要があります。

JAX-WSが、Oracleまたは他のSOAP Webサービス・ベンダーから他の基準ベースのSOAP Webサービスと相互運用します。

JAX-WSが安全性、信頼性などの基準を提供するWS-*プロトコルの完全セットをサポートし、WS-*プロトコルに準拠する他のクライアントやサーバーとの相互運用がより適切です。

SOAP Webサービス開発の詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』を参照してください。

REST

別々のクライアント/サーバー・アーキテクチャや共通インタフェースなど、RESTfulスタイルの制約が望ましい場合には、Web上のサービスを統合するために、JAX-RSを使用してRESTful Webサービスを実装します。

RESTful Webサービス開発の詳細は、『Oracle WebLogic Server RESTful Webサービスの開発と保護』を参照してください。

2 WebLogic Webサービスでサポートされる機能および基準

この章では、WebLogic Webサービスでサポートされる機能および基準を説明します。Webサービスの標準を定義する仕様の多くは、業界全体で幅広く使用できるように記述されています。そのため、Oracleによる特定の仕様の実装では、その仕様で考慮されているすべての使い方がサポートされていない場合もあります。

注意:
Oracle WebLogic ServerのJAX-WS実装は、JAX-WS参照実装(RI)から拡張されて、Glassfish Communityによって開発されます(https://jax-ws.java.net/を参照してください)。JAX-WS仕様(JSR-224)で定義されたすべての機能は、Oracle WebLogic Serverによって完全にサポートされます。
また、JAX-WS RIにはGlassfishコントリビュータによって提供された様々な拡張があります。特に記載しないかぎり、JAX-WS RI拡張はOracle WebLogic Serverでの使用についてはサポートされません。

Oracleでは、Webサービス仕様の考え得るあらゆる使用事例をサポートするよりも、Webサービス・プラットフォームの相互運用性の方をより重要視しています。Web Services Interoperability Organizationの次の仕様に準拠し、それをWebサービス相互運用性の基準とみなしています。

- Basic Profile 2.0 (JAX-WSのみ): http://www.ws-i.org/Profiles/BasicProfile-2_0(WGD).html

- Basic Profile 1.2 (JAX-WSのみ): http://www.ws-i.org/Profiles/BasicProfile-1_2(WGAD).html

- Basic Profile 1.1 (JAX-WSおよびJAX-RPC):http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html

- Basic Security Profile 1.1 (JAX-WSおよびJAX-RPC):http://www.ws-i.org/Profiles/BasicSecurityProfile-1.1.html

- Reliable Secure Profile 1.0 (JAX-WSのみ):http://www.ws-i.org/Profiles/ReliableSecureProfile-1.0.html

WebLogic Webサービスのドキュメント・セットでは、すべての仕様の要件が説明されているわけではありません。ただし、これらの仕様の要件に含まれていない機能については説明しています。

次の表に、WebLogic Webサービスでサポートされる機能および仕様をまとめます。

表2-1 WebLogic Webサービスでサポートされる機能および基準

機能

説明

JAX-WS

JAX-RS

JAX-RPC

メタデータ・アノテーションに基づくプログラミング・モデルとランタイム・アーキテクチャ

JSR 109: Implementing Enterprise Web Services: WebLogic ServerなどのJava EEアプリケーション・サーバーで実行するWebサービスをJavaで実装するためのプログラミング・モデルおよびランタイム・アーキテクチャ。「JSR 109: Implementing Enterprise Web Services 1.3」を参照してください。

バージョン1.3

なし

バージョン1.3

メタデータ・アノテーションに基づくプログラミング・モデルとランタイム・アーキテクチャ

Web Services Metadata for the Java Platform 2.0 (JSR-181): Webサービスのプログラミングを容易にするためにJava Webサービス(JWS)ファイルで使用できる標準アノテーション。「Web Services Metadata for the Java Platform 2.0 (JSR-181)」を参照してください。

サポート対象

なし

サポート対象

プログラミングAPI

Java API for XML-based Web Services (JAX-WS): Java Webサービスのコーディング、構築、デプロイメントに使用する標準ベースのAPI。統合されたスタックには、JAX-WS 2.1、JAXB 2.1、およびSAAJ 1.3が含まれます。「Java API for XML-based Web Services (JAX-WS) 2.2」を参照してください。

『Oracle WebLogic Server JAX-WS Webサービスの開発』も参照してください。

バージョン2.2

なし

なし

プログラミングAPI

Java API for RESTful Web Services (JAX-RS): Representational State Transfer (REST)アーキテクチャ・スタイルに基づいてWebサービスを開発するための標準JAVA API。「Java API for RESTful Web Services (JAX-RS)」を参照してください。

『Oracle WebLogic Server RESTful Webサービスの開発と保護』も参照してください。

なし

2.0

なし

プログラミングAPI

Java API for XML-based RPC (JAX-RPC): XMLベースのリモート・プロシージャ・コール(RPC)に使用するJava API。「Java API for XML-based RPC (JAX-RPC) 1.1」を参照してください。

『Oracle WebLogic Server JAX-RPC Webサービスの開発』も参照してください。

なし

なし

バージョン1.1

データ・バインディング

Java Architecture for XML Binding (JAXB): XMLスキーマをJavaコード内の表現にバインドするために使用する実装。JAXBは、JAX-WS Webサービスでのみサポートされます。「Java Architecture for XML Binding (JAXB) 2.2」を参照してください。

『Oracle WebLogic Server JAX-WS Webサービスの開発』のJAXBデータ・バインディングの使用に関する項も参照してください。

バージョン2.2

バージョン2.2

なし

データ・バインディング

Apache XMLBeans: XMLスキーマをJava型にバインドし、様々な方法でXMLデータにアクセスするための技術。XMLBeansは、JAX-RPC Webサービス用のデフォルトのバインディング技術です。「Apache XMLBeans 2.0」を参照してください。

『Oracle WebLogic Server JAX-RPC Webサービスの開発』のデータ・バインディングの理解に関する項も参照してください。

なし

なし

2.0

Webサービスの記述

Web Services Description Language (WSDL): Webサービスを記述するためのXMLベースの仕様。「Web Services Description Language (WSDL) 1.1」を参照してください。

関連項目:

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』のWSDLファイルから開始するWebLogic Webサービスの開発: 主な手順に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの開発』のWSDLファイルから開始するWebLogic Webサービスの開発: 主な手順に関する項

バージョン1.1

なし

バージョン1.1

Webサービスの記述

Web Application Description Language (WADL): XMLベースの仕様で、マシンが読み取ることができるHTTPベースのWebアプリケーションの記述を提供します。「Web Application Description Language (WADL) 2009 Membership Submission」を参照してください。

なし

2009 Member Submission

なし

Webサービスの記述

Web Services Policy Framework (WS-Policy): Webサービスのポリシーを記述して通信するための、汎用的なモデルおよび対応する構文。「Web Services Policy Framework (WS-Policy) 1.5および1.2」を参照してください。

バージョン1.5および1.2

なし

バージョン1.5および1.2

Webサービスの記述

Web Services Policy Attachment (WS-PolicyAttachment): ポリシーに使用する抽象モデルとXMLベースの式の構文。「Web Services Policy Attachment (WS-Policy Attachment) 1.5および1.2」を参照してください。

バージョン1.5および1.2

なし

バージョン1.5および1.2

Webサービスとリクエストを行ったクライアントの間のデータ交換

Simple Object Access Protocol (SOAP): 分散型環境で情報を交換するために使用する軽量XMLベースのプロトコル。「Simple Object Access Protocol (SOAP) 1.1および1.2」を参照してください。

バージョン1.2および1.1

なし

バージョン1.2および1.1

Webサービスとリクエストを行ったクライアントの間のデータ交換

SOAP with Attachments API for Java (SAAJ) 1.3 - SOAP 1.1仕様およびSOAP with Attachmentsノートに準拠するメッセージの生成と消費を行うために開発者が使用できる実装。「SOAP with Attachments API for Java (SAAJ) 1.3」を参照してください。

バージョン1.3

なし

バージョン1.3

セキュリティ

Web Services Security (WS-Security): メッセージの内容の整合性と機密性を確保するセキュアなt5rrr6sを構築する際に使用できるSOAP (SOAP11、SOAP12)の拡張機能の標準セット。「Web Services Security (WS-Security) 1.1および1.0」を参照してください。

『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。

バージョン1.1および1.0

なし

バージョン1.1および1.0

セキュリティ

Web Services Security Policy (WS-SecurityPolicy): WS-Policyフレームワークで使用するセキュリティ・ポリシー・アサーションのセット。「Web Services Security Policy (WS-SecurityPolicy) 1.3」を参照してください。

『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。

バージョン1.3

なし

バージョン1.3

セキュリティ

Security Assertion Markup Language (SAML): セキュリティ・ドメイン間で認証および認可データを交換するためのXML標準。「Security Assertion Markup Language (SAML) 2.0および1.1」を参照してください。

『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。

バージョン2.0および1.1

なし

バージョン2.0および1.1

セキュリティ

Security Assertion Markup Language (SAML) Token Profile: SOAPメッセージの認証と暗号化を実装するWS-Security SOAP拡張セット。「Security Assertion Markup Language (SAML) Token Profile 1.1および1.0」を参照してください。

『Oracle WebLogic Server WebLogic Webサービスの保護』も参照してください。

バージョン1.1および1.0

なし

バージョン1.1および1.0

信頼性のある通信

Web Services Addressing (WS-Addressing): Webサービスおよびメッセージのアドレッシングを行うための、トランスポートに依存しないメカニズム。「Web Services Addressing (WS-Addressing) 1.0および2004/08 Member Submission」を参照してください。

バージョン1.0および2004/08

なし

バージョン1.0および2004/08

信頼性のある通信

Web Services Reliable Messaging (WS-ReliableMessaging): ソフトウェア・コンポーネント、システム、またはネットワークに障害が発生した場合に、別々のWebLogic Serverインスタンス上で動作する2つのエンドポイント(Webサービスおよびクライアント)が確実に通信するため実装。「Web Services Reliable Messaging (WS-ReliableMessaging)」を参照してください。

関連項目:

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』のWebサービスの信頼性のあるメッセージングの使用に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング』のWebサービスの信頼性のあるメッセージングの使用に関する項

バージョン1.2および1.1

なし

バージョン1.1および1.0

信頼性のある通信

Web Services Reliable Messaging Policy (WS-RM Policy) : WS-PolicyおよびWS-ReliableMessagingで使用する信頼性のあるメッセージングのためのドメイン固有のポリシー・アサーション。「Web Services Reliable Messaging Policy (WS-RM Policy)」を参照してください。

関連項目:

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』の信頼できるメッセージングおよびMakeConnection用の事前パッケージ済のWS-Policyファイルに関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの開発』の信頼できるメッセージング用の事前パッケージ済のWS-Policyファイルに関する項

バージョン1.2および1.1

なし

バージョン1.1および1.0

信頼性のある通信

Web Services Trust Language (WS-Trust): Web Services Security (WS-Security)に基づく拡張です。これらの拡張により、非同期通信を安全に実行できます。「Web Services Trust Language (WS-Trust)」を参照してください。

『Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項も参照してください。

バージョン1.4および1.3

なし

バージョン1.3

信頼性のある通信

Web Services Secure Conversation Language (WS-SecureConversation): Web Services Security (WS-Security)およびWeb Services Trust Language (WS-Trust)に基づく拡張です。これらの拡張により、非同期通信を安全に実行できます。「Web Services Secure Conversation Language (WS-SecureConversation)」を参照してください。

『Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項も参照してください。

バージョン1.4

なし

バージョン1.3

非同期通信

非同期リクエスト・レスポンス: Webサービスを同期的に呼び出す場合、呼出し側のクライアント・アプリケーションは、レスポンスが返るまで待機してから、処理を続行します。レスポンスが即座に返る場合、このWebサービス呼出しの方法が一般的です。しかし、リクエストの処理が遅延する可能性があるため、クライアント・アプリケーションによる処理を続行しレスポンスへの対処は後で行うようにします。これは、非同期Webサービスの呼出しを使用して実行できます。たとえば、次を参照してください。

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』の非同期クライアントの開発に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの開発』の非同期のリクエストおよびレスポンスを使用したWebサービスの呼出しに関する項

サポート対象

サポート対象

サポート対象

非同期通信

WS-MakeConnection: 送信側エンドポイントが受信側エンドポイントへの新規接続を開始できない場合に2つのエンドポイント間でメッセージを転送するメカニズムを提供します。「Web Services MakeConnection 1.1」を参照してください。

『Oracle WebLogic Server JAX-WS Webサービスの開発』の非同期クライアントの開発に関する項も参照してください。

バージョン1.1

なし

なし

原子性トランザクション

Web Services Atomic Transaction: Web Services Coordination仕様に記述される拡張可能な調整フレームワークで使用される原子性トランザクションの調整タイプを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。「Web Services Atomic Transaction (WS-AtomicTransaction) Version 1.2、1.1、および1.0」を参照してください。

『Oracle WebLogic Server JAX-WS Webサービスの開発』のWebサービスの原子性トランザクションの使用に関する項も参照してください。

注意: JAX-RPCの場合、同様の機能はトランザクション内で@WebMethodを使用して実行されます(@weblogic.jws.Transactional)。詳細は、『Oracle WebLogic Server WebLogic Webサービス・リファレンス』のweblogic.jws.Transactionに関する項を参照してください。

バージョン1.2、1.1および1.0

なし

該当なし(詳細は「注意」を参照)

原子性トランザクション

Web Services Coordination: 分散アプリケーションのアクションを調整するプロトコルを提供する拡張可能なフレームワークを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。「Web Services Coordination (WS-Coordination) Version 1.2、1.1、および1.0」を参照してください。

『Oracle WebLogic Server JAX-WS Webサービスの開発』のWebサービスの原子性トランザクションの使用に関する項も参照してください。

バージョン1.2、1.1および1.0

なし

なし

クライアント・イベント通知

Webサービス・コールバック: コールバックは、なんらかのイベントが発生したことをWebサービスのクライアントに通知するものです。たとえば、クライアントのリクエストの結果が用意されたとき、または、クライアントのリクエストが実行できない場合に、クライアントに通知できます。

詳細については、以下を参照してください。

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』のコールバックの使用に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの開発』のコールバックを使用したクライアントへのイベントの通知に関する項

サポート対象

サポート対象外

サポート対象

XML伝達の最適化

Fast Infoset: テキストベースのXML形式よりも効率的にシリアライズできる、圧縮バイナリ・エンコーディング形式です。Fast Infosetによって、ドキュメント・サイズと処理パフォーマンスの両方が最適化されます。「Fast Infoset」を参照してください。

『Oracle WebLogic Server JAX-WS Webサービスの開発』のFast Infosetを使用したXML伝達の最適化に関する項も参照してください。

サポート対象

サポート対象外

サポート対象外

XML伝達の最適化

Message Transmission Optimization Mechanism (MTOM): SOAPメッセージにおける、xs:base64Binaryまたはxs:hexBinaryに関するXMLデータの転送を最適化するためのメソッドを定義します。詳細については、以下を参照してください。

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』のバイナリ・データ転送の最適化に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの開発』のMTOM/XOPを使用したバイナリ・データの送信に関する項

サポート対象

サポート対象外

サポート対象

SOAP Over JMSトランスポート

SOAP over JMSトランスポート: 通常、クライアント・アプリケーションからWebLogic Webサービスを呼び出すときは、接続プロトコルとしてHTTP/Sが使用されます。しかし、クライアント・アプリケーションがトランスポートにJMSを使用するようにWebLogic Webサービスを構成することもできます。「SOAP over JMS Transport 1.0」を参照してください。

詳細については、以下を参照してください。

- 『Oracle WebLogic Server JAX-WS Webサービスの開発』の接続プロトコルとしてのJMSトランスポートの使用に関する項

- 『Oracle WebLogic Server JAX-RPC Webサービスの開発』の接続プロトコルとしてのJMSトランスポートの使用に関する項

サポート対象

サポート対象外

サポート対象

スタンドアロンJava SEクライアント・アクセス

スタンドアロンJava SEクライアントJARファイル: 使用しているコンピュータにWebLogic Serverがインストールされていない場合でも、スタンドアロンWebLogic Webサービス・クライアントJARファイルを使用してWebサービスを起動できます。詳細については、以下を参照してください。

- 『Oracle WebLogic Server JAX-WS Webサービスの開発』のスタンドアロンJava SEクライアントからのWebサービスの起動に関する項

- 『Oracle WebLogic Server RESTful Webサービスの開発と保護』のスタンドアロン・クライアントからのRESTful Webサービスの起動に関する項

- 『Oracle WebLogic Server JAX-RPC Webサービスの開発』のWebサービス起動時のスタンドアロン・クライアントJARファイルの使用に関する項

サポート対象

サポート対象

サポート対象

公開(登録と検索)

Universal Description, Discovery, and Integration (UDDI): UDDI v2.0レジストリおよびUDDIExplorerアプリケーションは、このリリースで削除されました。お客さまには、SOAの可視性と管理を提供するOracleエンタープライズ・リポジトリまたはOracleサービス・レジストリへのアップグレードについて考慮することをお薦めします。詳細は、http://www.oracle.com/us/technologies/soa/soa-governance/index.htmlを参照してください。ページの最下部に記載されている製品一覧から「Oracle Service Registry」を選択します。右下の「Brochures and Data Sheets」を展開して、「Oracle Enterprise Repository and Oracle Service Registry for SOA Governance」データ・シートにアクセスします。

なし

なし

なし

次の項では、これらの仕様について詳しく説明します。なお、仕様はアルファベット順に並べてあります。これら以外にWebLogic Webサービスでサポートされる仕様については、「WebLogic Webサービスでサポートされるその他の仕様」を参照してください。

JAX-WS 2.2 RI/JDK 7.0の拡張に関する注意事項

このドキュメントで説明するAPIのサブセット(たとえば、com.sun.xml.ws.developer API)は、JDK 7.0またはJAX-WS 2.2 Reference Implementation (RI)の拡張としてサポートされます。これらのAPIはJDK 7.0やWebLogic Serverソフトウェアの一部としては提供されないため、変更される可能性があります。以下にこのようなAPIの例を示します(これらに限定されるものではありません)。

com.sun.xml.ws.api.server.AsyncProvider
com.sun.xml.ws.client.BindingProviderProperties
com.sun.xml.ws.developer.JAXWSProperties
com.sun.xml.ws.developer.SchemaValidation
com.sun.xml.ws.developer.SchemaValidationFeature
com.sun.xml.ws.developer.StreamingAttachment
com.sun.xml.ws.developer.StreamingAttachmentFeature
com.sun.xml.ws.developer.StreamingDataHandler

Apache XMLBeans 2.0

Apache XMLBeans 2.0(http://xmlbeans.apache.org)は、XMLスキーマをJava型にバインドし、様々な方法でXMLデータにアクセスするための技術を提供します。XMLBeansでは、XMLインスタンス・データにアクセスして変更するためのJavaインタフェースおよびクラスを、XML Schemaを使用してコンパイルします。XMLBeansは、JAX-RPC Webサービス用のデフォルトのバインディング技術です。

Fast Infoset

Fast Infosetは、テキストベースのXML形式よりも効率的にシリアライズできる、圧縮バイナリ・エンコーディング形式です。Fast Infosetによって、ドキュメント・サイズと処理パフォーマンスの両方が最適化されます。

有効にすると、Fast Infosetでは、データの送信前に、SOAPエンベロープのXML情報セットが圧縮バイナリ形式に変換されます。Fast Infosetは、暗号化メッセージ、署名付きメッセージ、MTOM対応メッセージおよびSOAPアタッチメントを最適化します。また、HTTPトランスポートとJMSトランスポートの両方をサポートします。

Fast Infoset仕様ITU-T Rec.X.891およびISO/IEC 24824-1 (Fast Infoset)は、ITU-TおよびISOの両方の標準化団体によって規定されています。この仕様は、ITUのWebサイト(http://www.itu.int/rec/T-REC-X.891-200505-I/en)からダウンロードできます。

詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』のFast Infosetを使用したXML伝達の最適化に関する項を参照してください。

Java API for RESTful Web Services (JAX-RS)

https://jcp.org/en/jsr/detail?id=339で説明されているRESTful Webサービス(JAX-RS)用のJava APIの仕様によって、Representational State Transfer (REST)アーキテクチャ・スタイルに基づいたWebサービスの開発用の標準JAVA APIが提供されます。

WebLogic Serverでは、Jersey 2.x JAX-RS 2.0参照実装(RI)がサポートされています。

詳細は、『Oracle WebLogic Server RESTful Webサービスの開発と保護』を参照してください。

Java API for XML-based RPC (JAX-RPC) 1.1

ネームスペース: http://java.sun.com/xml/ns/jax-rpc

Java API for XML-based RPC (JAX-RPC)仕様(https://java.net/projects/jax-rpc/に説明があります)は、XMLベースのリモート・プロシージャ・コール(RPC)を作成するためのJava APIを定義する仕様です。特に、これらのAPIは、SOAP 1.1(分散型環境で情報を交換するためのXMLベースのプロトコル)を使用して、Webサービスを呼び出したり、Webサービスからレスポンスを取得したりするのに使用されます。

WebLogic Serverには、JAX-RPCバージョン1.1仕様の必要な機能がすべて実装されています。また、『Oracle WebLogic Server JAX-RPC Webサービスの開発』のデータ・バインディングの理解に関する項で説明されているとおり、WebLogic Server実装のオプションのデータ型もサポートされています。WebLogic Serverには、この章で説明されていないJAX-RPC仕様のオプション機能は実装されていません。

詳細は、『Oracle WebLogic Server JAX-RPC Webサービスの開発』を参照してください。

注意:
JAX-WSはJAX-RPCの後継仕様で、Java EE 6の新機能の多くが実装されているため、JAX-WSに準拠してWebサービスを開発することをお薦めします。JAX-RPCは、レガシーな仕様と位置づけられ、これ以上の拡張は予定されていません。

Java API for XML-Based Web Services (JAX-WS) 2.2

ネームスペース : http://java.sun.com/xml/ns/jaxws

Java API for XML-based Web Services (JAX-WS)仕様(http://jcp.org/aboutJava/communityprocess/mrel/jsr224/index2.html)は、Java Webサービスのコーディング、構築、デプロイメントに使用する標準ベースのAPIです。「統合されたスタック」には、JAX-WS 2.2、Java Architecture for XML Binding (JAXB) 2.2およびSOAP with Attachments API for Java (SAAJ) 1.3が含まれます。

詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』を参照してください。

Java Architecture for XML Binding (JAXB) 2.2

ネームスペース : http://java.sun.com/xml/ns/jaxb

Java Architecture for XML Binding (JAXB)仕様(http://jcp.org/en/jsr/detail?id=222)を使用すると、XMLスキーマをJavaコードの表現に簡単にバインドできます。これにより、XML自体に関する知識がそれほどなくても、XMLデータと処理関数を、Javaテクノロジに基づくアプリケーションに、簡単に組み込むことができます。

詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』のJAXBデータ・バインディングの使用に関する項を参照してください。

注意:
JAXBをJAX-RPCと一緒に使用することはできません。

JSR 109: Implementing Enterprise Web Services 1.3

JSR 109: Implementing Enterprise Web Services仕様(http://www.jcp.org/en/jsr/detail?id=109)では、WebLogic ServerなどのJava EEアプリケーション・サーバー上で実行されるWebサービスをJavaで実装するためのプログラミング・モデルとランタイム・アーキテクチャを定義しています。特に、プログラマが次の2つのコンポーネントのいずれかを使用してJava EE Webサービスを実装することを規定しています。

- Webコンテナ内で動作するJavaクラス

- EJBコンテナ内で動作するステートレス・セッションEJB

また、標準Java EE Webサービスのパッケージ化形式、デプロイメント・モデル、実行時サービスについても記述されており、そのすべてをWebLogic Webサービスで実装しています。

Security Assertion Markup Language (SAML) 2.0および1.1

ネームスペース:

urn:oasis:names:tc:SAML:2.0:assertion

urn:oasis:names:tc:SAML:2.0:protocol

Security Assertion Markup Language (SAML)仕様は、セキュリティ・ドメイン間で認証および認可データを交換するためのXML標準を提供します。詳細については、以下を参照してください。

- http://www.oasis-open.org/specs/index.php#samlv2.0

- http://www.oasis-open.org/specs/index.php#samlv1.1

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

Security Assertion Markup Language (SAML) Token Profile 1.1および1.0

ネームスペース: urn:oasis:names:tc:SAML:1.0:assertion

Web Services Security: SAML Token Profile 1.1仕様は、SOAPメッセージの認証および暗号化を実装するSOAP拡張機能セットを定義します。詳細は、次を参照してください。

- http://www.oasis-open.org/committees/download.php/16768/wss-v1.1-spec-os-SAMLTokenProfile.pdf

- http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0.pdf

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

Simple Object Access Protocol (SOAP) 1.1および1.2

ネームスペース : http://schemas.xmlsoap.org/wsdl/soap

Simple Object Access Protocol (SOAP) (http://www.w3.org/TR/SOAP)は、分散型環境で情報を交換するために使用する軽量XMLベースのプロトコルです。WebLogic Serverには、SOAP仕様のバージョン1.1と1.2の独自の実装が含まれています。プロトコルの構成は以下のとおりです。

- SOAPメッセージを記述するエンベロープ。メッセージの本文を含むエンベロープは、処理するユーザーを識別し、処理方法を記述します。

- アプリケーション固有のデータ型のインスタンスを表現するためのエンコーディング・ルール・セット。

- リモート・プロシージャ・コールおよびレスポンスを表す規則。

この情報は、HTTPやHTTPSなどのWebプロトコルで転送可能なMultipurpose Internet Mail Extensions (MIME)エンコード・パッケージ内に埋め込まれています。MIMEは、非ASCIIメッセージをインターネット上で送信できるようにフォーマットするための仕様です。

次の例は、HTTPリクエスト内に埋め込まれている株取引情報用のSOAP 1.1リクエストを示しています。

POST /StockQuote HTTP/1.1
Host: www.sample.com:7001
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastStockQuote xmlns:m="Some-URI">
<symbol>ORCL</symbol>
</m:GetLastStockQuote>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

WebLogic Webサービスは、デフォルトではSOAPのバージョン1.1を使用します。バージョン1.2を使用する場合は、そのWebサービスを実装するJWSファイルでバインディング・タイプを指定する必要があります。

SOAP over JMSトランスポート1.0

SOAP over Java Messaging Service (JMS)トランスポートは、JAX-WSおよびJAX-RPC WebLogic Webサービスの接続プロトコルとしてサポートされています。

JAX-WSでは、この機能は新しいW3C SOAP over Java Message Service 1.0標準(2012年2月)をサポートします。この標準は、http://www.w3.org/TR/soapjms/で入手できます。

詳細については、以下を参照してください。

- 『Oracle WebLogic Server JAX-WS Webサービスの開発』の接続プロトコルとしてのJMSトランスポートの使用に関する項

- 『Oracle WebLogic Server JAX-RPC Webサービスの開発』の接続プロトコルとしてのJMSトランスポートの使用に関する項

SOAP with Attachments API for Java (SAAJ) 1.3

SOAP with Attachments API for Java (SAAJ)仕様(https://saaj.java.net)には、SOAP 1.1仕様とSOAP with Attachmentsノートに準拠するメッセージの作成と消費について記述されています。

APIのjavax.xml.soapというパッケージでは、MIME添付ファイルを持つSOAPメッセージの主要な抽象概念を提供しています。添付ファイルには、XMLドキュメント全体、XMLフラグメント、画像、テキスト・ドキュメント、または有効なMIMEタイプを持つその他のコンテンツを使用できます。また、このパッケージでは、Webサービスとのリクエストおよびレスポンス型の対話に関する単純なクライアント側のビューも提供しています。

Web Application Description Language (WADL) 2009 Membership Submission

ネームスペース: http://wadl.dev.java.net/2009/02/wadl.xsd

Web Application Description Language (WADL)は、http://www.w3.org/Submission/wadlで説明されるように、XMLベースの仕様で、マシンが読み取ることができるHTTPベースのWebアプリケーションの記述を提供します。WebLogic Webサービスの開発者は、WADLファイルを作成する必要はありません。これらのファイルはWebLogic Webサービス開発プロセスの一部として自動的に生成されます。

詳細は、『Oracle WebLogic Server RESTful Webサービスの開発と保護』を参照してください。

Web Services Addressing (WS-Addressing) 1.0および2004/08 Member Submission

ネームスペース:

http://www.w3.org/2005/08/addressing

http://www.w3.org/2007/05/addressing/metadata

Web Services Addressing (WS-Addressing) Core仕様(http://www.w3.org/TR/ws-addr-core)は、Webサービスおよびメッセージのアドレッシングを行うための、トランスポートに依存しないメカニズムを提供します。特に、この仕様では、Webサービスのエンドポイントを識別したり、メッセージ内のエンドポイントIDをエンド・ツー・エンドで保護したりするのに使用される多数のXML要素が定義されています。

1.0に加え、現在のリリースでは、Web Services Addressing (August 2004 Member Submission) (http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810)もサポートされます。

Web Services Addressing (WS-Addressing) Metadata仕様は、http://www.w3.org/TR/ws-addr-metadataで説明されるように、WSDLを使用してWeb Services Addressing Coreで定義される抽象プロパティを記述する方法や、WebサービスによってWS-Addressingのサポートを指定するためにWS-Policyを使用する方法を定義します。

Web Services Atomic Transaction (WS-AtomicTransaction) Version 1.2、1.1、および1.0

Web Services Atomic Transaction (WS-AtomicTransaction)仕様(http://docs.oasis-open.org/ws-tx/wstx-wsat-1.2-spec-cs-01/wstx-wsat-1.2-spec-cs-01.html)は、Web Services Coordination仕様に記述される拡張可能な調整フレームワークで使用される原子性トランザクションの調整タイプを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。

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

Web Services Coordination (WS-Coordination) Version 1.2、1.1、および1.0

Web Services Coordination (WS-Coordination)仕様(http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-cs-01/wstx-wscoor-1.2-spec-cs-01.html)は、分散アプリケーションのアクションを調整するプロトコルを提供する拡張可能な調整フレームワークを定義します。WS-AtomicTransaction仕様とWS-Coordination仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。

Web Services Description Language (WSDL) 1.1

ネームスペース : http://schemas.xmlsoap.org/wsdl

Web Services Description Language (WSDL)(http://www.w3.org/TR/wsdl)は、Webサービスを記述するためのXMLベースの仕様です。WSDLドキュメントには、Webサービス操作、入出力パラメータ、およびクライアント・アプリケーションからWebサービスへの接続方法を記述します。

WebLogic Webサービスの開発者は、WSDLファイルを作成する必要はありません。これらのファイルはWebLogic Webサービス開発プロセスの一部として自動的に生成されます。

次の例は参照用でGetLastStockQuoteメソッドを含む株取引WebサービスStockQuoteServiceを記述するWSDLファイルを示しています。

<?xml version="1.0"?>
<definitions name="StockQuote"
targetNamespace="http://sample.com/stockquote.wsdl"
xmlns:tns="http://sample.com/stockquote.wsdl"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
xmlns:xsd1="http://sample.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<message name="GetStockPriceInput">
<part name="symbol" element="xsd:string"/>
</message>
<message name="GetStockPriceOutput">
<part name="result" type="xsd:float"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastStockQuote">
<input message="tns:GetStockPriceInput"/>
<output message="tns:GetStockPriceOutput"/>
</operation>
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastStockQuote">
<soap:operation soapAction="http://sample.com/GetLastStockQuote"/>
<input>
<soap:body use="encoded" namespace="http://sample.com/stockquote"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://sample.com/stockquote"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>>
</binding>
<service name="StockQuoteService">
<documentation>My first service</documentation>
<port name="StockQuotePort" binding="tns:StockQuoteSoapBinding">
<soap:address location="http://sample.com/stockquote"/>
</port>
</service>
</definitions>

WSDL仕様には、Webサービスを呼び出すときに使用できる様々なタイプのバインディングを指定するための、オプションの拡張要素があります。WebLogic Webサービス・ランタイムでは、次のとおりです。

- SOAPバインディングを完全にサポートしているため、WSDLファイルにSOAPバインディングが含まれている場合、WebLogic Webサービスは、Webサービスの呼出しに使用するメッセージの形式およびプロトコルとしてSOAPを使用します。

- HTTP GETおよびPOSTバインディングが無視されるため、WSDLファイルにこの拡張機能が含まれている場合、WebLogic Webサービス・ランタイムではWSDLの解析時にその要素がスキップされます。

- MIMEバインディングが部分的にサポートされているため、WSDLファイルにこの拡張機能が含まれている場合、WebLogic Webサービス・ランタイムでその要素が解析されますが、Webサービス呼出しのためにメッセージを作成するときに、実際にはMIMEバインディングは作成されません。

詳細については、以下を参照してください。

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』のWSDLファイルから開始するWebLogic Webサービスの開発: 主な手順に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの開発』のWSDLファイルから開始するWebLogic Webサービスの開発: 主な手順に関する項

Web Services MakeConnection 1.1

ネームスペース: http://docs.oasis-open.org/ws-rx/wsmc/200702

http://docs.oasis-open.org/ws-rx/wsmc/200702で説明されているWeb Services MakeConnectionの仕様によって、送信側のエンドポイントが受信側のエンドポイントへの新規接続を初期化できないときに、2点間のエンドポイントのメッセージを転送するメカニズムが提供されます。たとえば、ファイアウォールの内側から非同期Webサービスを起動するためのものです。

詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』の非同期クライアントの開発に関する項を参照してください。

Web Services Metadata for the Java Platform 2.0 (JSR-181)

http://download.oracle.com/javase/6/docs/technotes/guides/language/annotations.htmlに記載のメタデータ・アノテーション機能とプログラミング・モデルを利用することをお薦めします。このプログラミング・モデルでは、アノテーション付きのJavaファイルを作成し、Antタスクを使用してそのファイルをEJBまたは標準のJavaクラスのJavaソース・コードに変換し、関連するアーティファクトをすべて自動的に生成します。

アノテーション付きのJava Webサービス(JWS)ファイル(簡略化してJWSファイルと呼びます)は、Webサービスの中核部分です。このファイルにはWebサービスの動作を決定するJavaコードが含まれています。JWSファイルは、JDK 5.0メタデータ・アノテーションを使用してWebサービスの形式や特性を指定した、通常のJavaクラス・ファイルです。JWSファイルで使用できるJWSアノテーションには、http://www.jcp.org/en/jsr/detail?id=181に記載のWeb Services Metadata for the Java Platform仕様(JSR-181)で定義された標準のアノテーションと、その他の標準またはWebLogic固有のアノテーションがあり、作成するWebサービスのタイプに応じて使い分けます。

注意:
JWSアノテーション・ファイルを使用する以外の方法としては、標準のJavaクラスまたはEJBをゼロからコーディングし、それに関連するアーティファクト(デプロイメント記述子ファイル、WSDL、ユーザー定義のデータ型のデータ・バインディング・アーティファクトなど)を手動で生成することで、WebLogic Webサービスを自分でプログラミングする方法があります。ただし、この方法は、難しく時間がかかるためお薦めできません。

Web Services Policy Attachment (WS-Policy Attachment) 1.5および1.2

ネームスペース:

WS-Policy Attachment 1.5 : http://www.w3.org/ns/ws-policy

WS-PolicyAttachment 1.2 : http://schemas.xmlsoap.org/ws/2004/09/policy

Web Services Policy Attachment (WS-Policy Attachment)仕様では、ポリシーの抽象モデルとXMLベースの式の文法を定義しています。この仕様では、ポリシーとポリシーの適用先のサブジェクトを関連付けるための、2つの汎用メカニズムが定義されています。また、それらの汎用メカニズムを使用して、WS-PolicyをWSDLやUDDIの記述に関連付ける方法も定義しています。

詳細については、以下を参照してください。

- Web Services Policy 1.5 - Attachment(推奨): http://www.w3.org/TR/ws-policy-attach/

- Web Services Policy 1.2 - Attachment (WS-PolicyAttachment)(メンバーの発行): http://www.w3.org/Submission/WS-PolicyAttachment

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

Web Services Policy Framework (WS-Policy) 1.5および1.2

ネームスペース:

WS-Policy Framework 1.5 : http://www.w3.org/ns/ws-policy

WS-Policy 1.2 : http://schemas.xmlsoap.org/ws/2004/09/policy

WS-Policy Framework (WS-Policy)仕様では、Webサービスのポリシーを記述して通信するための、汎用的なモデルと対応する構文が提供されています。WS-Policyは、幅広いサービスの要件、プリファレンス事項、機能を記述するために、他のWebサービス仕様が使用したり拡張したりできる、構成の基本セットを定義しています。

詳細については、以下を参照してください。

- Web Services Policy 1.5 - Framework(推奨): http://www.w3.org/TR/ws-policy

- Web Services Policy 1.2 - Framework (WS-Policy)(メンバーの発行): http://www.w3.org/Submission/WS-Policy

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

Web Services Reliable Messaging (WS-ReliableMessaging)

ネームスペース : http://docs.oasis-open.org/ws-rx/wsrm/200702

Web Services Reliable Messaging (WS-ReliableMessaging)仕様(http://docs.oasis-open.org/ws-rx/wsrm/200702)では、ソフトウェア・コンポーネント、システム、またはネットワークに障害が発生した場合に、別々のWebLogic Serverインスタンス上で動作する2つのWebサービスが確実に通信するための方法が規定されています。特に、ソース・エンドポイントから宛先エンドポイントに送信されるメッセージの配信またはエラーの生成を保証する、相互運用性プロトコルを提供しています。

詳細については、以下を参照してください。

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』のWebサービスの信頼性のあるメッセージングの使用に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング』のWebサービスの信頼性のあるメッセージングの使用に関する項

注意:
WebLogic Server WS-ReliableMessagingは、旧バージョンの仕様との後方互換性をサポートします。たとえば、WS-ReliableMessaging 1.2 Webサービスは、WS-ReliableMessaging 1.2または1.1の仕様に準拠するクライアントによってアクセスされます。ただし、WS-ReliableMessaging 1.2/1.1クライアントは、WS-ReliableMessaging 1.0サーバーと通信できません。WS-ReliableMessaging 1.2 (クライアントまたはサービス)は、JAX-WSでのみサポートされることに注意します。

Web Services Reliable Messaging Policy Assertion (WS-RM Policy)

ネームスペース : http://docs.oasis-open.org/ws-rx/wsrmp/200702

Web Services Reliable Messaging Policy Assertion (WS-RM Policy)仕様では、WS-PolicyおよびWS-ReliableMessagingで使用する信頼性のあるメッセージングのためのドメイン固有のポリシー・アサーションが定義されています。この仕様では、RM宛先およびRMソースは、所定のシーケンスに対するそれぞれの要件を記述できるようになります。

仕様情報は、次を参照してください。

- バージョン1.2 (JAX-WSのみ): http://docs.oasis-open.org/ws-rx/wsrmp/200702/wsrmp-1.2-spec-os.html

- バージョン1.1 (JAX-WSとJAX-RPC): http://docs.oasis-open.org/ws-rx/wsrmp/200702/wsrmp-1.1-spec-os-01.html

詳細については、以下を参照してください。

- JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの開発』のWebサービスの信頼性のあるメッセージングの使用に関する項

- JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング』のWebサービスの信頼性のあるメッセージングの使用に関する項

Web Services Secure Conversation Language (WS-SecureConversation)

ネームスペース : http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512

Web Services Secure Conversation Language (WS-SecureConversation)仕様では、Web Services Security (WS-Security) 1.1、1.0およびWeb Services Trust Language (WS-Trust)に基づく拡張が定義されています。これらの拡張により、1つ以上のメッセージにまたがる通信を保護できます。この仕様では、セキュリティ・コンテキストを確立および共有し、そのセキュリティ・コンテキスト(または共有秘密)からキーを派生させるためのメカニズムが定義されています。

詳細については、以下を参照してください。

- バージョン1.4 (JAX-WS): http://docs.oasis-open.org/ws-sx/ws-secureconversation/v1.4/ws-secureconversation.html

- バージョン1.3 (JAX-RPC): http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/ws-secureconversation-1.3-os.html

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

Web Services Security (WS-Security) 1.1および1.0

ネームスペース : http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuritysecext-1.0.xsd、http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility-1.0.xsd、http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd

Webサービス・セキュリティについての以下の説明は、2006年2月の「Web Services Security: SOAP Message Security」と題されたOASIS標準1.1仕様から直接引用したものです。

この仕様は、整合性と機密性を確保するセキュアなWebサービスを構築する際に使用できるSOAP (SOAP11、SOAP12)の拡張の標準セットを提案するものです。この拡張セットのことを「Web Services Security: SOAP Message Security」または「WSS: SOAP Message Security」と呼びます。

この仕様には柔軟性があり、様々なセキュリティ・モデル(PKI、Kerberos、SSLなど)でセキュアなWebサービスを実現するための土台となるように設計されています。たとえばこの仕様では、複数のセキュリティ・トークン・フォーマット、複数の信頼ドメイン、複数のシグネチャ・フォーマット、および複数の暗号化技術がサポートされています。トークン・フォーマットおよびそれらを使用するためのセマンティクスは、関連付けられたプロファイル・ドキュメントに定義されています。

この仕様は、主にセキュリティ・トークンの伝播、メッセージの整合性、およびメッセージの機密性の3つのメカニズムを提供します。これらのメカニズムは、それだけではWebサービス用の完全なセキュリティ・ソリューションとはなりません。この仕様は、他のWebサービス拡張機能やより高いレベルのアプリケーション固有プロトコルと一緒に使用して、様々なセキュリティ・モデルおよびセキュリティ技術を実現することができるビルディング・ブロックです。

前述のメカニズムは、独立して使用することも(たとえばセキュリティ・トークンを渡すため)、密接に統合して使用することもできます(たとえば、メッセージ全体やその一部に対して署名や暗号化を行い、署名や暗号化に使用するキーと関連付けられたセキュリティ・トークンまたはトークン・パスを提供するなど)。

詳細については、OASIS Web Service Security Webページ(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss)を参照してください。

WebLogic Webサービスでは次のトークン・プロファイルも実装しています。

- Webサービス・セキュリティ: SOAPメッセージ・セキュリティ

- Webサービス・セキュリティ:ユーザー名トークン・プロファイル

- Webサービス・セキュリティ: X.509証明書トークン・プロファイル

- Webサービス・セキュリティ: SAMLトークン・プロファイル1.0および1.1

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

Web Services Security Policy (WS-SecurityPolicy) 1.3

ネームスペース : http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702

Web Services Security Policy (WS-SecurityPolicy)仕様(http://docs.oasis-open.org/ws-sx/ws-securitypolicy/v1.3/cd/ws-securitypolicy-1.3-spec-cd-03.html)では、WS-Policyフレームワークで使用するセキュリティ・ポリシー・アサーションのセットが定義され、WS-Security、WS-Trust、およびWS-SecureConversationのコンテキストにおいてメッセージをどのように保護するかについて記述されています。

WebLogic Webサービスのすべての非同期機能(コールバック、会話、Webサービスの信頼性のあるメッセージング)では、実装でアドレッシングを使用していますが、Webサービス・プログラマは、追加のアドレッシング機能が必要な場合に、この仕様に準拠するAPIを単独で使用することもできます。

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

Web Services Trust Language (WS-Trust)

ネームスペース : http://schemas.xmlsoap.org/ws/2005/02/trust

Web Services Trust Language (WS-Trust)仕様では、Web Services Security (WS-Security) 1.1および1.0に基づく拡張を定義します。これらの拡張により、セキュリティ・トークンをリクエストおよび発行するためのフレームワークを提供し、信頼関係を仲介します。

詳細については、以下を参照してください。

- バージョン1.4 (JAX-WS): http://docs.oasis-open.org/ws-sx/ws-trust/200802

- バージョン1.3 (JAX-RPC): http://docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3-os.html

詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。

WebLogic Webサービスでサポートされるその他の仕様

- http://www.w3.org/TR/xmlschema-1に記述されている「XML Schema Part 1: Structures」

- http://www.w3.org/TR/xmlschema-2に記述されている「XML Schema Part 2: Data Types」

3 開発ツールおよび管理ツールの使用

この章では、WebLogic Webサービスの開発および管理に使用できるツールを紹介します。

この章では、以下のトピックについて説明します。

- Oracle IDEを使用したWebサービスの開発

- 管理ツールを使用したWebLogic Webサービスの管理、テストおよびモニター

- Oracle Enterprise Manager Fusion Middleware Controlの使用

- Oracle WebLogic Server管理コンソールの使用

- Oracle WebLogic Scripting Toolの使用

- Oracle WebLogic Server Antタスクの使用

- Java Management Extensions (JMX)の使用

- Java EEデプロイメントAPIの使用

- WebサービスApache Mavenゴールの使用

Oracle IDEを使用したWebサービスの開発

次のOracle IDEツールを使用してWebサービスを開発できます。

- Oracle JDeveloper - エンド・ツー・エンドのWebサービスの開発に利用可能な、あらゆる機能を備えたOracleのJava IDEです。開発者は、JavaクラスやEJBを構築し、それらをWebサービスとして公開し、Oracle WebLogic Serverのインスタンスに自動的にデプロイし、実行中のWebサービスをすぐにテストすることができます。または、JDeveloperを使用して、WSDL記述子からWebサービスを作成することもできます。JDeveloperはAntも認識します。このツールを使用して、クライアントのアセンブリや、サービスのアセンブリおよびデプロイ用のAntスクリプトを構築および実行することができます。詳細は、『Oracle JDeveloperによるアプリケーションの開発』のWebサービスの開発および保護に関する項を参照してください。JDeveloperのインストールの詳細は、『Oracle JDeveloperのインストール』を参照してください。

- Oracle Enterprise Pack for Eclipse (OEPE) - WebLogic Webサービスの開発を容易にするEclipse IDEプラットフォームのプラグイン群を提供します。詳細については、Eclipse IDEプラットフォームのオンライン・ヘルプを参照してください。

管理ツールを使用したWebLogic Webサービスの管理、テストおよびモニター

jwsc Antタスクを使用してWebLogic Webサービスをコンパイルおよびパッケージ化すると、Webサービスはエンタープライズ・アプリケーションの一部としてパッケージ化されます。デフォルトでは、Webサービス自体はエンタープライズ・アプリケーション内にWebアプリケーションWARファイルとしてパッケージ化されます。ただし、JWSファイルにセッションBeanが実装されている場合、WebサービスはEJB JARファイルとしてパッケージ化されます。

Webサービスの基本的な管理は、標準のJava Platform, Enterprise Edition (Java EE)バージョン5アプリケーションおよびモジュールの基本的な管理と非常に似ています。標準的なタスクは次のとおりです。

- Webサービスが含まれるエンタープライズ・アプリケーションをデプロイします。

- デプロイされたエンタープライズ・アプリケーションを起動および停止します。

- エンタープライズ・アプリケーションと、実際のWebサービスを実装するアーカイブ・ファイルの構成。エンタープライズ・アプリケーションの一般的な特性(デプロイメント順など)や、モジュールに固有の特性(Webアプリケーションのセッション・タイムアウト、EJBのトランザクションの種類など)を構成できます。

- エンタープライズ・アプリケーションのデプロイメント・プランを作成および更新します。

- エンタープライズ・アプリケーションをモニターします。

- エンタープライズ・アプリケーションをテストします。

Webサービス固有の管理タスクの例を次に示します。

- Webサービス・エンドポイントまたはその操作に関連付けられたポリシー・ファイルの構成。

- Webサービスに関連付けられたSOAPハンドラの表示。

- WebサービスのWSDLの表示。

- Webサービスのセキュリティ構成の作成。

WebLogic Serverで動作するJava EEモジュールおよびアプリケーションの管理方法には、次の各項で説明するように、Webサービスを含め様々な方法があります。

- Oracle Enterprise Manager Fusion Middleware Controlの使用

- Oracle WebLogic Server管理コンソールの使用

- Oracle WebLogic Scripting Toolの使用

- Oracle WebLogic Server Antタスクの使用

- Java Management Extensions (JMX)の使用

- Java EEデプロイメントAPIの使用

Oracle Enterprise Manager Fusion Middleware Controlの使用

Oracle Enterprise Manager Fusion Middleware Control (Fusion Middleware Control)は、ファームの管理およびモニターに使用できるWebブラウザ形式のグラフィカル・ユーザー・インタフェースです。ファームは、管理対象コンポーネントの集合です。これは、Oracle WebLogic Serverドメイン、1つまたは複数の管理対象サーバー、およびドメインにインストール化、構成および実行できるOracle Fusion Middlewareシステムのコンポーネントが含まれています。

Fusion Middleware Controlは、様々なパフォーマンス・データおよび管理機能を個別のファームに対するWebベースのホームページ、Oracle WebLogic Serverドメイン、コンポーネントおよびアプリケーションに分割しています。Fusion Middleware Controlのホームページを使用すると、Webブラウザからの重要性の高いモニター・データと最もよく使用される管理機能のすべてを簡単に検索することができます。

Enterprise Managerを使用したWebサービスの管理、テストおよびモニターの詳細は、『Webサービスの管理』を参照してください。

Fusion Middleware Controlは、Oracle Fusion Middleware製品に含まれていますが、Oracle WebLogic Serverのスタンドアロン・バージョンを購入した場合には同梱されていません。Fusion Middleware Controlの詳細は、『Oracle Fusion Middlewareの管理』のOracle Enterprise Manager Fusion Middleware Controlの使用の開始に関する項を参照してください。

Oracle WebLogic Server管理コンソールの使用

WebLogic Server管理コンソールは、サーバーやクラスタにデプロイされたWebLogic Serverドメイン、1つ以上のWebLogic Serverインスタンス、クラスタおよびアプリケーション(Webサービスを含む)の管理に使用するWebブラウザ形式のグラフィカル・ユーザー・インタフェースです。

各ドメインでは、1つのWebLogic Serverインスタンスが管理サーバーとして構成されます。管理サーバーではWebLogic Serverドメインを一元的に管理できます。ドメイン内の他のすべてのWebLogic Serverインスタンスは、管理対象サーバーと呼ばれます。1つのWebLogic Serverインスタンスしか含まれないドメインでは、そのサーバーが管理サーバーおよび管理対象サーバーとして機能します。WebLogic Server管理コンソールは、管理サーバーによってホストされるWebアプリケーションであり、サポートされている任意のWebブラウザから、管理サーバーへのネットワーク・アクセスを使用してアクセスできます。

WebLogic Server管理コンソールでは、次のことが可能です。

- エンタープライズ・アプリケーションのデプロイ

- デプロイされたエンタープライズ・アプリケーションの起動と停止

- エンタープライズ・アプリケーションの構成

- Webアプリケーションの構成

- EJBの構成

- デプロイメント・プランの作成

- デプロイメント・プランの更新

- エンタープライズ・アプリケーションのモジュールのテスト

- WS-PolicyファイルとWebサービスとの関連付け

- WebサービスのSOAPメッセージ・ハンドラの表示

- WebサービスのWSDLの表示

- Webサービス・セキュリティ構成の作成

WebLogic Server管理コンソールを使用したWebサービスの管理の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプを参照してください。

次のセクションでは、次のトピックの詳細について説明します。

- 管理コンソールの起動

- 管理コンソールでのWebサービスの表示

- Webサービスのセキュリティ構成の作成

管理コンソールの起動

ブラウザでWebLogic Server管理コンソールを起動するには、次のURLを入力します。

http://host:port/console

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

- hostは、管理サーバーが動作しているコンピュータを指します。

- portは、管理サーバーが接続リクエストをリスニングしているポート番号を指します。管理サーバーのデフォルトのポート番号は7001です。

WebLogic Server管理コンソールの使用に関する詳細は、WebLogic Server管理コンソールの右上端にある「ヘルプ」ボタンをクリックし、オンライン・ヘルプを起動してください。

管理コンソールでのWebサービスの表示

通常、Webサービスはエンタープライズ・アプリケーションの一部としてWebLogic Serverにデプロイされます。エンタープライズ・アプリケーションは、EARとしてアーカイブするか、展開されたディレクトリの形式とすることができます。Webサービス自体はほとんどの場合、Webアプリケーションとしてパッケージ化されます。ただし、JWSファイルにセッションBeanが実装されている場合のみ、EJBとしてパッケージ化されます。Webサービスは、アーカイブ形式(Webアプリケーションの場合はWARファイル、EJBの場合はEJB JARファイル)または展開されたディレクトリ形式にできます。

Webサービスは、必ずしもエンタープライズ・アプリケーションの一部としてインストールする必要はありません。Webサービスは、WebアプリケーションまたはEJBとしてそのままインストールすることもできます。ただし、Webサービスをエンタープライズ・アプリケーションの一部としてインストールすることをお薦めします。Webサービスの作成に使用されるWebLogic Antタスク(jwsc)は、生成されたWebサービスを常にエンタープライズ・アプリケーションにパッケージ化します。

WebLogic Server管理コンソールを使用してWebサービスに関するWebサービス固有の構成情報を表示および更新するには、左ペインの「デプロイメント」ノードをクリックし、右ペインに表示される「デプロイメント」表でWebサービスがパッケージ化されているエンタープライズ・アプリケーションを探します。「+」ノードをクリックしてアプリケーションを展開すると、「Webサービス」カテゴリにアプリケーション内のWebサービスのリストが表示されます。構成を表示または更新するには、そのWebサービスの名前をクリックします。

次の図では、WebLogic Server管理コンソールの「デプロイメント」表に、helloWorldEarエンタープライズ・アプリケーションにパッケージ化されているHelloWorldService Webサービスが表示されています。

図3-1 WebLogic Server管理コンソールのメイン・ウィンドウ

Webサービスのセキュリティ構成の作成

デプロイ済のWebLogic Webサービスがメッセージ・レベルのセキュリティ(WS-Security仕様で定義されている暗号化およびデジタル署名)を使用するように構成されている場合、Webサービス・ランタイムは、そのWebサービスにWebサービス・セキュリティ構成が関連付けられているかどうかを判断します。このセキュリティ構成では、IDの認証にX.509証明書を使用するかどうか、パスワード・ダイジェストを使用するかどうか、暗号化にキーストアを使用するかどうかなどの情報を指定します。1つのセキュリティ構成を多数のWebサービスに関連付けることができます。

Webサービスのセキュリティ構成はドメイン全体を対象とするため、WebLogic Server管理コンソールでは「デプロイメント」タブではなく「domainName」→「Webサービス・セキュリティ」タブから作成します。次の図に、このタブの場所を示します。

図3-2 管理コンソールでのWebサービスのセキュリティ構成

Oracle WebLogic Scripting Toolの使用

WebLogic Scripting Tool (WLST)は、コマンドライン形式のスクリプト・インタフェースで、WebLogic Serverのドメインやインスタンスと対話して構成したり、Java EEモジュールおよびアプリケーション(Webサービスを含む)を特定のWebLogic Serverインスタンスにデプロイする目的で使用します。システム管理者およびオペレータは、WLSTを使用してWebLogic Serverの構成の変更を開始、管理および永続化できます。

WLSTの使用方法の詳細は、次を参照してください。

- 『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項

- WebLogic Scripting Toolの理解

Oracle WebLogic Server Antタスクの使用

WebLogic Serverには、構成タスクや管理タスクの多くを単一のAntビルド・スクリプトに一元化するのに使用できる様々なAntタスクが用意されています。

これらのAntタスクを使用すると、以下のことが行えます。

- wlserverおよびwlconfig Antタスクを使用して、新しいWebLogic Serverドメインを作成、起動、および構成します。

- wldeploy Antタスクを使用して、新しく作成したドメインに、コンパイル済みアプリケーションをデプロイします。

- Webサービスおよびクライアントを生成して、WSDLをローカル・ディレクトリにダウンロードします。

次の表では、WebサービスAntタスクを使用するための手順をまとめています。

表3-1 WebサービスAntタスクを使用するための手順

#

手順

説明

1

環境を設定します。

Windows NTでは、ドメイン・ディレクトリにあるsetDomainEnv.cmdコマンドを実行します。WebLogic Serverドメインのデフォルトの場所は、ORACLE_HOME\user_projects\domains\domainNameです。ORACLE_HOMEは、WebLogic Serverのインストール時にユーザーがOracleホームとして指定したディレクトリで、domainNameはユーザーのドメインの名前です。

UNIXでは、ドメイン・ディレクトリにあるsetDomainEnv.shコマンドを実行します。WebLogic Serverドメインのデフォルトの場所は、ORACLE_HOME/user_projects/domains/domainNameです。ORACLE_HOMEは、WebLogic Serverのインストール時にユーザーがOracleホームとして指定したディレクトリで、domainNameはユーザーのドメインの名前です。

2

WebサービスAntタスクの呼出しを含むbuild.xmlというファイルを作成します。

以下に、cleanというターゲットを1つ指定した簡単なbuild.xmlファイルの例を示します。

<project name="my-webservice">
<target name="clean">
<delete>
<fileset dir="tmp" />
</delete>
</target>
</project>

このcleanターゲットにより、tmpサブディレクトリ内のすべてのファイルが削除されます。build.xmlファイルでAntタスクを指定する例は後の項で紹介します。

3

実行するWebLogic WebサービスAntタスクごとに、<taskdef>要素および<target>要素を使用して、適切なタスク定義とターゲットをbuild.xmlファイルに追加します。

次の例では、jwsc Antタスクをビルド・ファイルに追加する方法を示します。ここでは、分かりやすくするためにタスクの属性を省いています。

<taskdef name="jwsc"
classname="weblogic.wsee.tools.anttasks.JwscTask" />
<target name="build-service">
<jwsc attributes go here...>
...
</jwsc>
</target>

注意: それぞれのAntタスクに対する<taskdef>要素のname属性値を変更すれば、WebLogic WebサービスAntタスクに任意の名前を付けることができます。このドキュメントでは、整合性を考慮してjwsc、clientgen、wsdlcおよびwsdlgetという名前に統一しています。

4

build.xmlファイルに指定されたAntタスクを実行します。

build.xmlファイルと同じディレクトリで antと入力し、ターゲットを指定します。次に例を示します。

prompt> ant build-service

5

Webサービスを呼び出すURLに使用するコンテキスト・パスとサービスURIを指定します。(省略可能)

この情報は様々な方法で設定できます。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』のWebLogic Webサービスのコンテキスト・パスの定義に関する項を参照してください。

詳細については、以下を参照してください。

- 『Oracle WebLogic Server WebLogic Webサービス・リファレンス』のAntタスク・リファレンスに関する項

- 『Oracle WebLogic Serverアプリケーションの開発』の次の各項

- Antタスクを使用したWebLogic Serverドメインの構成と使用に関する項

- wldeploy Antタスクのリファレンスに関する項

WebLogic Antタスクのクラスパスの設定

各WebLogic Antタスクには、新しいディレクトリまたはJARファイルを現在のCLASSPATH環境変数に追加できるように、classpath属性または要素を受け取ります。

次の例では、jwsc Antタスクのclasspath属性を使用して、新しいディレクトリをCLASSPATH変数に追加する方法を示します。

<jwsc srcdir="MyJWSFile.java"
classpath="${java.class.path};my_fab_directory"
...
</jwsc>

次の例では、<classpath>要素を使用してCLASSPATHに追加する方法を示します。

<jwsc ...>
<classpath>
<pathelement path="${java.class.path}" />
<pathelement path="my_fab_directory" />
</classpath>
...
</jwsc>

次の例では、WebLogic WebサービスAntタスク宣言の外でCLASSPATH変数をビルドしてから、<classpath>要素を使用してタスク内でその変数を指定する方法を示します。

<path id="myClassID">
<pathelement path="${java.class.path}"/>
<pathelement path="${additional.path1}"/>
<pathelement path="${additional.path2}"/>
</path>
<jwsc ....>
<classpath refid="myClassID" />
...
</jwsc>

注意:
Weblogic ServerのJava Antユーティリティでは、 WL_HOME\server\binディレクトリ(WL_HOMEはWeblogic Serverがインストールされている最上位ディレクトリ)にあるant (UNIX)またはant.bat (Windows)構成ファイルを使用して各種のAnt固有変数を設定します。これらのAnt変数を更新する必要がある場合、使用しているオペレーティング・システム用の構成ファイルを変更します。

WSDLおよびXMLスキーマ・ファイルの操作時におけるオペレーティング・システムの大文字/小文字の区別の違い

WebLogic WebサービスのAntタスクの多くには、WSDLまたはXMLスキーマ・ファイルなどのファイルを指定するために使用できる属性があります。

Antタスクは、それらのファイルを大文字と小文字を区別して処理します。つまり、XMLスキーマ・ファイルで名前が大文字と小文字の点でのみ異なるユーザー定義の2つの型(たとえばMyReturnTypeとMYRETURNTYPE)が指定されている場合、clientgen Antタスクは、ユーザー定義データ型のJava表現に対応する2つの別々のJavaソース・ファイル・セット(MyReturnType.javaとMYRETURNTYPE.java)を適切に生成します。

ただし、それらのソース・ファイルをそれぞれのクラス・ファイルにコンパイルすると、AntタスクをMicrosoft Windowsで実行する場合に問題が生じる場合があります。Windowsでは、大文字と小文字を区別しないためです。つまり、Windowsでは、ファイルMyReturnType.javaとMYRETURNTYPE.javaが同じ名前と判断されます。したがって、Windowsでファイルをコンパイルすると、2番目のクラス・ファイルが最初のクラス・ファイルを上書きしてしまい、クラス・ファイルが1つしか残りません。しかしAntタスクは2つのクラスがコンパイルされたものと認識しているので、次のようなエラーが発生することになります。

c:\src\com\bea\order\MyReturnType.java:14:
class MYRETURNTYPE is public, should be declared in a file named   MYRETURNTYPE.java
public class MYRETURNTYPE
^

この問題を回避するには、この種の名前の競合が起こらないようにXMLスキーマを書き換えるか、あるいはそれが不可能な場合は、UNIXなどの大文字と小文字を区別するオペレーティング・システムでAntタスクを実行します。

Java Management Extensions (JMX)の使用

マネージドBean (MBean)は、Java Management Extensions (JMX)インタフェースを提供するJava Beanです。JMXは、ネットワーク上のリソースをモニターおよび管理するためのJava EEソリューションです。JMXはSNMPおよび他の管理規格と同様に公開された仕様であり、一般的に用いられるモニター用製品を扱うベンダーの多くでサポートされています。

WebLogic Serverには、JMXを使用してWebLogic Serverリソースを構成、モニターおよび管理するための様々なMBeanが用意されています。WebLogic Webサービスにも、Webサービス管理タスクを実行する目的で使用する専用のMBeanが複数あります。

MBeanには2種類あります。読取り専用のモニター情報の表示に使用する実行時MBeanと、デプロイ済のWebサービスの構成に使用する構成MBeanです。

構成WebサービスMBeanは次のとおりです。

- WebserviceSecurityConfigurationMBean

- WebserviceCredentialProviderMBean

- WebserviceSecurityMBean

- WebserviceSecurityTokenMBean

- WebserviceTimestampMBean

- WebserviceTokenHandlerMBean

実行時WebサービスMBeanは次のとおりです。

- WseeRuntimeMBean

- WseeHandlerRuntimeMBean

- WseePortRuntimeMBean

- WseeOperationRuntimeMBean

- WseePolicyRuntimeMBean

JMXの詳細は、Oracle WebLogic ServerのMBeanリファレンスおよび『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』の次の各項を参照してください。

- WebLogic Server MBeanの理解

- JMXを使用したWebLogic Server MBeanへのアクセス

- JMXを使用したドメインの構成の管理

Java EEデプロイメントAPIの使用

Java EE 5では、J2EE Application Deployment仕様(JSR-88) (http://jcp.org/en/jsr/detail?id=88を参照)により、ターゲット・アプリケーション・サーバー環境へのデプロイメント用にアプリケーションを構成するために使用できる標準APIが定義されています。

この仕様には、Java EE Deploymentアーキテクチャが記述されています。このアーキテクチャでは、ツールやアプリケーション・プログラマがあらゆるJava EEプラットフォーム製品でアプリケーションを構成およびデプロイできるようにするための規約を定義しています。この規約では、アプリケーションのデプロイメント構成とデプロイメントについて、ツールとJava EEプラットフォーム製品の間での共通モデルが定義されています。Deploymentアーキテクチャを使用すると、アプリケーションのデプロイメントがより容易に行えます。多様なJava EEプラットフォーム製品にアプリケーションをデプロイするために、さまざまなJava EEデプロイメント・ツールのすべての機能を理解する必要はありません。

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

WebサービスApache Mavenゴールの使用

Apache Mavenは、Javaベース・プロジェクトの構築および管理を行うためのソフトウェア・ツールです。WebLogic Serverは、プラグインのプロビジョニングによってMaven用のサポートを提供します。このプラグインを使用すると、Maven環境からWebLogic Serverで各種処理を実行できます。

WebLogic Serverでは、次のWebサービスMavenゴールがサポートされています。

表3-2 WebサービスMavenゴール

Mavenゴール

説明

ws-clientgen

WSDLからクライアントWebサービス・アーティファクトを生成します。

ws-wsdlc

アーティファクトのセットとWebサービスの部分的なJava実装をWSDLから生成します。

ws-jwsc

JAX-WS Webサービスを構築します。

詳細は、『Oracle WebLogic Serverアプリケーションの開発』のWebLogic Development Mavenプラグインの使用に関する項を参照してください。

4 ロードマップと関連情報

この章では、WebLogic Webサービスの実装のロードマップを示します。また、WebLogic Serverアプリケーションの開発の関連ドキュメントのサマリーも提供します。

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

- WebLogic Webサービスを実装するためのロードマップ

- WebLogic Webサービス・ドキュメント・セット

- 関連ドキュメント - WebLogic Serverアプリケーションの開発

WebLogic Webサービスを実装するためのロードマップ

次の表に、WebLogic Webサービスを作成、デプロイ、および呼び出すための一般的なタスクのロードマップを示します。

表4-1 WebLogic Webサービスを実装するためのロードマップ

タスク

詳細情報

サポートされる標準を確認する

第2章「WebLogic Webサービスでサポートされる機能および基準」

サンプルを実行する

第6章「Java EE Webサービス開発者向けサンプル」

JAX-WSを使用してWebサービスを開発および管理する

Oracle WebLogic Server JAX-WS Webサービスの開発

JAX-RSを使用してRESTful Webサービスを開発および管理する

Oracle WebLogic Server RESTful Webサービスの開発と保護

JAX-RPCを使用してWebサービスを開発および管理する

Oracle WebLogic Server JAX-RPC Webサービスの開発

Webサービスを保護する: Oracle Web Services Manager (OWSM)ポリシー

Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理

Webサービスを保護する: WebLogic Webサービス・ポリシー

『Oracle WebLogic Server WebLogic Webサービスの保護』

OWSMポリシーをアタッチする

- 『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する項

- 『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項

WebLogic Webサービス・ポリシーをアタッチする

- 『Oracle WebLogic Server WebLogic Webサービスの保護』の「Oracle Webサービス・マネージャのセキュリティ・ポリシーの使用」

- 『Oracle JDeveloperによるアプリケーションの開発』のポリシーのアタッチに関する項

Webサービスをデプロイする

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのWebサービスのインストールに関する項

Webサービスを管理する: Fusion Middleware Control

Webサービスの管理

Webサービスを管理する: WebLogic Server管理コンソール

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのWebサービスに関する項

Webサービスをテストする

- 『Webサービスの管理』のWebサービスのテストに関する項

- Oracle WebLogic Server管理コンソール・オンライン・ヘルプのWebサービスのテストに関する項

- 『Oracle JDeveloperによるアプリケーションの開発』のWebサービスのテストおよびデバッグに関する項

Webサービスのパフォーマンスをモニターする

- 『Webサービスの管理』のWebサービスの監視と監査に関する項

- Oracle WebLogic Server管理コンソール・オンライン・ヘルプのWebサービスの監視に関する項

カスタムOWSMポリシー・ファイルを作成する

『Oracle Web Services Manager拡張可能アプリケーションの開発』のカスタム・アサーションの作成に関する項

カスタムWebLogic Webサービス・ポリシー・ファイルを作成する

『Oracle WebLogic Server WebLogic Webサービスの保護』の「カスタム・ポリシー・ファイルの作成と使用」

WebLogicとOracle WSMのWebサービス・ポリシーを相互運用する

Oracle Web Services Manager相互運用ガイド

アップグレードする

『Oracle WebLogic Serverのアップグレード』のWebLogic Webサービスのアップグレードに関する項

WebLogic Webサービス・ドキュメント・セット

このドキュメントは、Webサービスに関するトピックを包括的に対象とする、大規模なWebLogic Webサービス・ドキュメント・セットの一部です。次の表に、このドキュメント・セットに含まれているドキュメントをまとめます。

表4-2 WebLogic Webサービス・ドキュメント・セット

ドキュメント

説明

Webサービスの理解

Oracle Fusion Middleware 12cのWebサービスを開発します。

『Oracle WebLogic Server WebLogic Webサービスの理解』(このドキュメント)

WebLogic Webサービスの概要、サポートされる標準、相互運用性、関連するサンプルおよびドキュメントについて説明します。

Oracle Web Services Managerの理解

WebLogic Webサービスの概要、サポートされる標準、相互運用性、関連するサンプルおよびドキュメントについて説明します。

Oracle WebLogic Server JAX-WS Webサービスの開発

JAX-WSを使用してWebLogic Webサービスを開発する方法を説明します。このガイドには、使用例およびサンプル、反復的な開発手順、一般的なJWSプログラミング手順、データ型情報、およびWebサービスの呼出し方が含まれています。

Oracle WebLogic Server RESTful Webサービスの開発と保護

Java API for RESTful Web Services (JAX-RS)を使用して、Representational State Transfer (REST)アーキテクチャ・スタイルに準拠するWebLogic Webサービスを開発する方法を説明します。

Oracle WebLogic Server JAX-RPC Webサービスの開発

JAX-RPCを使用してWebLogic Webサービスを開発する方法を説明します。このガイドには、使用例およびサンプル、反復的な開発手順、一般的なJWSプログラミング手順、データ型情報、およびWebサービスの呼出し方が含まれています。

『Oracle WebLogic Server WebLogic Webサービスの保護』

Webサービスのメッセージレベル(デジタル署名と暗号化)、トランスポートレベル、アクセス制御のセキュリティを開発および構成する方法を説明します。

Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理

Oracle Web Services Manager (OWSM)ポリシーを使用してWebサービスを保護する方法を説明します。

Webサービスの管理

Oracle Fusion Middleware 12cのWebサービスを管理します。

Oracle WebLogic Server Webサービス・リファレンス

JWSアノテーション、Antタスク、信頼性のあるメッセージングWS-Policyアサーション、セキュリティWS-Policyアサーション、およびデプロイメント記述子に関するリファレンス情報を提供します。

Oracle Web Services Manager相互運用ガイド

OWSM.と相互運用します。

Oracle Web Services Manager拡張可能アプリケーションの開発

OWSMのカスタム・アサーションを開発します。

関連ドキュメント - WebLogic Serverアプリケーションの開発

WebLogic Serverアプリケーションを開発、デプロイ、およびモニターするための包括的なガイドラインについては、次の表のドキュメントを参照してください

表4-3 関連ドキュメント: WebLogic Serverアプリケーションの開発

ドキュメント

次を行う方法を学習するには...

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

WebLogic Serverのコンポーネント(Webアプリケーション、EJBなど)やアプリケーションを開発します。

Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発

WebLogic Serverにデプロイして実行するWebアプリケーション(サーブレット、JSPなど)を開発します。

Oracle WebLogic Server Enterprise JavaBeansバージョン2.1の開発

WebLogic Serverにデプロイして実行するEJBを開発します。

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

XML処理を含んだアプリケーションの設計と開発を行います。

Oracle WebLogic Serverへのアプリケーションのデプロイ

WebLogic Serverアプリケーションをデプロイします。このガイドは、アプリケーションの開発および本番デプロイメントの両方で使用します。

『Oracle WebLogic Serverへのアプリケーションのデプロイ』の本番デプロイメントのためのアプリケーションの構成に関する項

WebLogic Serverの本番環境にデプロイするアプリケーションを構成します。

Oracle WebLogic Serverのパフォーマンスのチューニング

WebLogic Serverアプリケーションのパフォーマンスの監視と改善を行います。

『Oracle WebLogic Serverの理解』のシステム管理に関する項

WebLogic Serverとそれにデプロイされているアプリケーションを管理します。

5 Microsoft WCF/.NETとの相互運用性

この章では、WebLogic WebサービスがMicrosoft Windows Communication Foundation (WCF)/.NET 3.0、3.5、および4.0 Frameworkを使用して作成されたWebサービスにアクセスしたり、それを消費したり、またその逆もできることを確認するために、Microsoft社と協力して実施した相互運用性テストについて説明します。詳細は、http://msdn2.microsoft.com/en-us/netframework/default.aspxを参照してください。

表5-1では、JAX-WSおよびJAX-RPC Webサービスを使用して実施した相互運用性テストを説明します。

表5-1 実施した相互運用性テスト

領域

相互運用性ガイドライン

基本データ型と複合データ型

基本データ型の相互運用性ガイドライン

WS-I Basic Profile 2.0、1.2、および1.1

Basic Profileの相互運用性ガイドライン

注意: WS-I Basic Profile 2.0および1.2は、JAX-WSにのみ適用されます。WS-I Basic Profile 1.1は、JAX-WSおよびJAX-RPC Webサービスの両方に適用されます。

Web Services Reliable Secure Profile (WS-RSP) 1.0

Web Services Reliable Secure Profileの相互運用性ガイドライン

Web Services Security (WS-Security) 1.0および1.1

WS-Securityの相互運用性ガイドライン

Web Services Security Policy (WS-SecurityPolicy) 1.2

WS-SecurityPolicyの相互運用性ガイドライン

Web Services Secure Conversation Language (WS-SecureConversation) 1.3

WS-SecureConversationの相互運用性ガイドライン

Web Services Policy Framework (WS-Policy) 1.5

相互運用性の制約はありません。

Web Services Addressing (WS-Addressing) 0.9および1.0

なし

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

なし

SAMLアサーション

SignedInfoから参照するSAMLアサーションの使用

さらに、以下の機能の組合せもテストされました:

- MTOMおよびWS-Security

- WS-ReliableMessagingおよびMTOM

- WS-ReliableMessaging 1.2およびWS-Addressing 1.0 (JAX-WS)

- WS-ReliableMessaging 1.1およびWS-Addressing 1.0 (JAX-WS)

- WS-ReliableMessaging 1.1およびWS-Addressing 0.9、1.0 (JAX-RPC)

- WS-ReliableMessaging 1.0およびWS-Addressing 0.9、1.0 (JAX-RPC)

- WS-ReliableMessaging 1.2およびWS-SecureConversation 1.4

- WS-ReliableMessaging 1.1およびWS-SecureConversation 1.3

- WS-ReliableMessaging 1.0およびWS-SecureConversation 1.3

- WS-Policy 1.5およびWS-SecurityPolicy 1.2

以下の節では、テストにおいて特定された相互運用上の問題とガイドラインについて説明します。

基本データ型の相互運用性ガイドライン

Microsoft .NET 3.0/3.5でanyTypeクラスを使用している場合、どのJavaデータ型が返されるかは保証されません。特定のJavaデータ型を戻す必要がある場合は、anyTypeを使用しないようにしてください。

Basic Profileの相互運用性ガイドライン

WS-I Basic Profile 1.2および2.0のプロファイルは、WebLogic WebサービスJAX-WSおよびMicrosoft .NET Framework 4.0との間でテストされました。相互運用性の制約はありませんでした。

WS-I Basic Profile 1.1は、WLS JAX-RPCおよびMicrosoft .NET 3.0/3.5 Frameworkとの間でテストされました。このテストによって、Microsoft .NET 3.0/3.5は、Java Webサイトhttp://download.oracle.com/docs/cd/E17802_01/webservices/webservices/reference/tutorials/wsit/doc/DataBinding7.htmlで説明されている使用事例の文字列のBasic Profile 1.1セマンティクスを強制しないことが判明しました。

Web Services Reliable Secure Profileの相互運用性ガイドライン

WebLogic WebサービスおよびMicrosoft .NET WebのWeb Services Reliable Secure Profile実装は、次の警告を表示しますが、互換性があります。

- WS-ReliableMessagingセキュリティでは、WS-I Reliable Secure Profile Version 1.0 Working Group Draft仕様のガイドライン(http://www.ws-i.org/Profiles/ReliableSecureProfile-1.0.html)に従い、WS-SecureConversationを使用する必要があります。

- 非同期の信頼できるメッセージングおよびWS-SecureConversationまたはWS-Trustは、WebLogic WebサービスJAX-WSクライアントおよびMicrosoft .NETサービスに対してのみサポートされます。JAX-RPCクライアントではサポートされません。

WS-Securityの相互運用性ガイドライン

以下に、WS-Securityの相互運用性ガイドラインを示します。

- <sp:Strict>レイアウト・アサーション(下に表示)の使用は保証されません。

<sp:Layout>
<wsp:Policy>
<sp:Strict/>
</wsp:Policy>
</sp:Layout>

かわりに、次のような独自のポリシーを定義する必要があります:

<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>

- 以下のアサーションは、Microsoft .NET 3.0/3.5ではサポートされません。

- UsernameTokenでのダイジェスト・パスワード

- <sp:EncryptedSupportingTokens>

- 要素レベルのシグネチャ

- 要素レベルの暗号化

- WS-Security 1.1の非対称バインディングのサポートは、Microsoft .NET 3.0/3.5では保証されません。

WS-SecurityPolicyの相互運用性ガイドライン

このリリースでは、WebLogic ServerおよびMicrosoft .NET 3.5はWeb Services Security Policy (WS-SecurityPolicy) 1.3をサポートします。Microsoft .NET 3.0では、SecurityPolicy仕様の2005年12月のドラフト・バージョンがサポートされています。

2005年12月のドラフト・バージョンでは、<sp:SignedEncryptedSupportingTokens>ポリシー・アサーションがサポートされていません。そのため、Microsoft .NET 3.0では、UsernameTokenを<sp:SignedSupportingTokens>ポリシー・アサーションで暗号化します。UsernameTokenを暗号化せずに<sp:SignedSupportingTokens>ポリシー・アサーションを使用する場合、WebLogic ServerとMicrosoft .NET Web Servicesは相互運用できません。

WS-SecureConversationの相互運用性ガイドライン

以下に、WS-SecureConversationの相互運用性ガイドラインを示します。

- セキュリティ上の必要性がないかぎり、<sp:EncryptBeforeSigning/>は使用しないことをお薦めします。かわりに、<sp:SignBeforeEncrypt>(デフォルト)を使用してください。

- WebLogic ServerのWebサービスではCookieモードの会話がサポートされますが、この機能はMicrosoft独自の実装であり、他のベンダーではサポートされない可能性があります。

- <sp:BootstrapPolicy>ポリシー・アサーションを使用する場合は、「WS-Securityの相互運用性ガイドライン」に定義されているガイドラインを考慮する必要があります。

- WS-SecurityPolicy仕様またはWS-SecureConversation仕様で定義されているWS-SecureConversationの取消しおよび更新をサポートする標準メソッドはありません。Microsoft .NETでWS-SecureConversationの取消しおよび更新をサポートするために使用されているメソッドには、WebLogic Server 10.xとの互換性がありません。そのため、次の設定が必要になります。

- Microsoft .NETクライアントをWebLogic ServerのWebサービスと相互運用するには、サーバー側でsetCompatibilityPreference("msft")メソッドを使用し、WebサービスのセキュリティMBean経由でCompatibilityフラグを設定する必要があります。

- WebLogic ServerのWebサービス・クライアントを、Compatibilityフラグが設定されているWebLogic ServerのWebサービスと相互運用するには、次のようにクライアントでもこのフラグを設定する必要があります。

stub._setProperty(WLStub.POLICY_COMPATIBILITY_PREFERENCE,"msft");

たとえば、例5-1「JAX-WS Webサービス・クライアントでのMicrosoft .NET互換性フラグの設定」および例5-2「JAX-RPC Webサービス・クライアントでのMicrosoft .NET互換性フラグの設定」を参照してください。

SignedInfoから参照するSAMLアサーションの使用

SAMLアサーションが<wsee:Security>ヘッダーの<ds:Signature>要素の<ds:SignedInfo>要素で参照される場合、Microsoft .NETでは、<wsse:SecurityTokenReference>から参照されるSAMLアサーションをサポートしません。<wsse:SecurityTokenReference>の使用は、http://www.oasis-open.org/committees/download.php/16768/wss-v1.1-spec-os-SAMLTokenProfile.pdfで説明されているWS-Security仕様でのベスト・プラクティスとして定義されます。

Microsoft .NETとの互換性を確保するには、Webサービス・クライアント・コードで、WLStub.POLICY_COMPATIBILITY_PREFERENCEフラグをWLStub.POLICY_COMPATIBILITY_MSFTフラグに設定する必要があります。フラグを設定すると、SAMLアサーションは、SecurityTokenReferenceを使用せず、直接参照で署名されます。

次に、JAX-WS Webサービス・クライアントに対するMicrosoft .NET互換性フラグの設定方法の例を示します。

例5-1 JAX-WS Webサービス・クライアントでのMicrosoft .NET互換性フラグの設定

. . .
import weblogic.wsee.jaxrpc.WLStub;
. . .
public String test(String hello) throws Exception {
. . .
BindingProvider provider = (BindingProvider)port;
Map context = provider.getRequestContext();
. . .
. . .
context.put(WLStub.POLICY_COMPATIBILITY_PREFERENCE, WLStub.POLICY_COMPATIBILITY_MSFT);
try {
String result = port.getName(hello);
System.out.println("MSFT Result was: " + result);
return result;
} catch (Exception e) {
throw new RuntimeException (e);
}
}

次に、JAX-RPC Webサービス・クライアントに対するMicrosoft .NET互換性フラグの設定方法の例を示します。

例5-2 JAX-RPC Webサービス・クライアントでのMicrosoft .NET互換性フラグの設定

. . .
. . .
import weblogic.wsee.jaxrpc.WLStub;
. . .

@WebMethod()
public String callSamlHelloSV_WSS10_MSFT(String input) {
try {
System.out.println("Calling sayHello(" + input + ") with MSFT Ways");
((Stub)port)._setProperty(WLStub.POLICY_COMPATIBILITY_PREFERENCE,
WLStub.POLICY_COMPATIBILITY_MSFT);
String result = port.sayHelloSV_WSS10(input);
System.out.println("MSFT Result was: " + result);
return result;
}
catch (RemoteException e) {
throw new RuntimeException(e);
}
}

6 Java EE Webサービス開発者向けサンプル

この章では、WebLogic Webサービスの理解を深める上で参照可能なサンプルや関連情報について説明します。

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

- WebLogic Webサービス開発者向けサンプル

- ダウンロード可能な他のWebサービス・サンプル

WebLogic Webサービス開発者向けサンプル

様々なサンプル・コードがWebサービス開発者向けに用意されています。サンプルとチュートリアルではWebLogic Webサービスの動作が例示され、主要なWebサービス開発タスクを実行する実際的な手順が示されています。

Webサービスのサンプルは次のとおりです。

- JAX-WS Webサービスおよびクライアント

- RESTful Webサービスおよびクライアント

- JAX-RPC Webサービスおよびクライアント

Webサービスを使用する独自のアプリケーションをプログラミングする前に、Webサービス・サンプルを実行してみることをお薦めします。

WebLogic Server配布キットのWebサービス・サンプル

WebLogic Serverでは、必要に応じてAPIサンプル・コードをORACLE_HOME\wlserver\samples\server\examples\src\examples\webservicesディレクトリにインストールできます。ORACLE_HOMEはWebLogic Serverがインストールされるディレクトリです。WebLogic Serverサンプル・コードの詳細は、『Oracle WebLogic Serverの理解』のサンプル・アプリケーションおよびサンプル・コードに関する項を参照してください。

Avitek Medical Recordsアプリケーション(MedRec)とチュートリアル

MedRecはWebLogic Serverに付属したエンドツーエンドのサンプルJava EEアプリケーションであり、一元的で独立した医療記録管理システムをシミュレートします。MedRecアプリケーションには、患者、医師、および管理者に対して、様々なクライアントを使用して患者のデータを管理するフレームワークが用意されています。

MedRecはWebLogic ServerとJava EEの機能を例示し、Oracle推奨のベスト・プラクティスを重要点として示します。MedRecは、WebLogic Serverインストールで必要に応じてインストールできます。MedRecは、ORACLE_HOME\user_projects\domains\medrecディレクトリから起動できます。ORACLE_HOMEは、Oracle WebLogic Serverのインストール時にOracleホームとして指定したディレクトリです。詳細は、『Oracle WebLogic Serverの理解』のサンプル・アプリケーションおよびサンプル・コードに関する項を参照してください。

ダウンロード可能な他のWebサービス・サンプル

その他のAPIサンプルは、http://www.oracle.com/technetwork/indexes/samplecode/index.htmlからダウンロードできます。これらのサンプルには、Oracleが認定したもののほかに、開発協力者から提示されたサンプルもあります。

オラクルの法律上の注意点について

コピーライトについて

Copyright © 1994-2016, Oracle and/or its affiliates.All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

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

保証免責

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

制限付権利について

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

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

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

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

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

第三者のコンテンツ、製品、サービスに対する免責事項

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

アルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のアルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが非公開の試作版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のベータ・トライアル契約のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

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

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

Oracle Supportへのアクセス

サポートをご契約のお客様には、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を参照してください。