プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server 10.3.6 WebLogic Webサービスの紹介
11g リリース1 (10.3.6)
B61646-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

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

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

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

このガイドでは、すべての仕様の要件を必ずしも説明しません。ただし、このガイドではこのような仕様の要件を超える機能について説明します。

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

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

機能 説明 JAX-WS JAX-RPC

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

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

バージョン1.2

バージョン1.2

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

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.1」を参照してください。

関連項目:

  • Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド

  • Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング

バージョン2.1

なし

プログラミング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サービス・スタート・ガイド

  • 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.1」を参照してください。

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

バージョン2.1

なし

データ・バインディング

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 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): メッセージの内容の整合性と機密性を確保するセキュアなWebサービスを構築する際に使用できる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.2」を参照してください。

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

バージョン1.2

バージョン1.2

セキュリティ

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.2および1.0

バージョン1.1および1.0

信頼性のある通信

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

バージョン1.0

バージョン1.0

信頼性のある通信

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) 1.2」を参照してください。

関連項目:

  • JAX-WS:『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』の信頼できるメッセージングおよびMakeConnection用の事前パッケージ済のWS-Policyファイルに関する項

  • JAX-RPC:『Oracle WebLogic Server JAX-WS 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サービスの高度な機能のプログラミング』のWebサービスの非同期起動に関する項

  • JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング』の非同期のリクエストおよびレスポンスを使用したWebサービスの呼出しに関する項

サポートされています

サポートされています

非同期通信

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

『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』の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 Services Atomic Transactionsの使用に関する項も参照してください。

注意: 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 Services Atomic Transactionsの使用に関する項も参照してください。

バージョン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伝達の最適化

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

  • JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のMTOM/XOPを使用したバイナリ・データ転送の最適化に関する項

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

サポートされています

サポートされています

SOAP Over JMSトランスポート

SOAP over JMSトランスポート: 通常、クライアント・アプリケーションからWebLogic Webサービスを呼び出すときは、接続プロトコルとしてHTTP/Sが使用されます。しかし、クライアント・アプリケーションがトランスポートにJMSを使用するようにWebLogic Webサービスを構成することもできます。詳細は、『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミン』の接続プロトコルとしてのJMSトランスポートの使用に関する項を参照してください。

サポートされていません

サポートされています

RESTful Webサービス

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

「Jersey JAX-RS参照実装の使用」も参照してください。

注意: Jersey JAX-RS Reference Implementation (RI)の使用はベスト・プラクティスとしてお薦めできますが、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のHTTPを介してXMLを使用したWebサービスのプログラミングに関する項で説明されているように、HTTPプロトコルを使用してRESTful-like Webサービスをプログラムできます。

「注意」を参照

なし

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

スタンドアロンJSEクライアント・アクセス・ファイル: 使用しているコンピュータにWebLogic Serverがインストールされていない場合、スタンドアロンWebLogic Webサービス・クライアントJARファイルを使用して引き続きWebサービスを起動できます。詳細は、『Oracle WebLogic Server JAX-RPC Webサービス・スタート・ガイド』のWebサービス起動時のスタンドアロン・クライアントJARファイルの使用に関する項を参照してください。

サポートされていません

サポートされています

公開(登録と検索)

Universal Description, Discovery, and Integration (UDDI): Webサービスの記述、既知のレジストリへのWebサービスの登録、他の登録済Webサービスの検索など行う際の標準。「Universal Description, Discovery, and Integration (UDDI) 2.0」を参照してください。

関連項目:

  • JAX-WS: 『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のUDDIを使用したWebサービスのパブリッシュと検索に関する項

  • JAX-RPC: 『Oracle WebLogic Server JAX-RPC Webサービスの高度な機能のプログラミング』のUDDIを使用したWebサービスのパブリッシュと検索に関する項

バージョン2.0

バージョン2.0

公開(登録と検索)

Java API for XML Registries (JAX-R): 種類の異なるXMLレジストリへのアクセスに使用する共通の標準Java API。「Java API for XML Registries (JAX-R) 1.0」を参照してください。

バージョン1.0

バージョン1.0


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

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

このドキュメントで説明するAPIのサブセット(たとえば、com.sun.xml.ws.developer API)は、JDK 6.0またはJAX-WS 2.1 Reference Implementation (RI)の拡張としてサポートされます。これらのAPIはJDK 6.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サービス用のデフォルトのバインディング技術です。

Java API for XML Registries (JAXR) 1.0

Java API for XML Registries (JAXR)仕様(http://www.oracle.com/technetwork/java/jaxr-138137.htmlに説明があります)は、様々なXMLレジストリにアクセスするための共通の標準Java APIを提供します。XMLレジストリは、Webサービスの構築、デプロイ、検索を可能にするインフラストラクチャです。JAXR 1.0は、原則的に、UDDI v2.0レジストリにアクセスするためのAPIとして使用されます。

JAXRによって、Javaソフトウェア・プログラマは、単一の使いやすい抽象APIを使用して、様々なXMLレジストリにアクセスできるようになります。JAXRでは、XMLレジストリ内にコンテンツとメタデータを記述する共通の情報モデルによって、容易性と使いやすさを実現しています。

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

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

WebLogic Serverには、Webアプリケーションとしてパッケージされ、Jersey JAX-RS RIバージョン1.1.5.1に基づくアプリケーションの実行に必要な事前作成共有ライブラリが含まれています。詳細は、「Jersey JAX-RS参照実装の使用」を参照してください。

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

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

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

ネームスペース : 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.1、Java Architecture for XML Binding (JAXB) 2.1およびSOAP with Attachments API for Java (SAAJ) 1.3が含まれます。JAX-WSは、WebサービスおよびWebアプリケーション内でJAX-RPCに取ってかわるものとして設計されています。

Java Architecture for XML Binding (JAXB) 2.1

ネームスペース : 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テクノロジに基づくアプリケーションに、簡単に組み込むことができます。


注意:

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

JSR 109: Implementing Enterprise Web Services 1.2

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標準を提供します。詳細は、次を参照してください:

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拡張機能セットを定義します。詳細は、次を参照してください。

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 with Attachments API for Java (SAAJ) 1.3

SOAP with Attachments API for Java (SAAJ)仕様(http://java.net/projects/saaj/に説明があります)には、開発者がSOAP 1.1仕様とSOAP with Attachmentsノートに準拠するメッセージの生成と消費を行う方法について記述されています。

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

Web Services Addressing (WS-Addressing) 1.0

ネームスペース : http://www.w3.org/2005/08/addressing


注意:

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

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

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仕様は、参加者間で分散アクティビティを調整する拡張可能なフレームワークを定義します。

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バインディングを作成しません。

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サービスを起動するためのものです。

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

メタデータ・アノテーション機能を活用して、アノテーション付きのJavaファイルを作成し、Antタスクを使用してそのファイルを標準のJavaクラスまたはEJBのJavaソース・コードに変換し、関連するアーティファクトをすべて自動的に生成するプログラミング・モデルを使用することをお薦めします。

アノテーション付きのJava Webサービス(JWS)ファイル(簡単にJWS fileファイルと呼びます)は、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 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 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サービスが確実に通信するための方法が規定されています。特に、ソース・エンド・ポイントから宛先エンド・ポイントに送信されるメッセージの配信またはエラーの生成を保証する、相互運用性プロトコルを提供しています。


注意:

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) 1.2

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

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

詳細は、次を参照してください:

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つ以上のメッセージにまたがる通信を保護できます。この仕様では、セキュリティ・コンテキストを確立および共有し、そのセキュリティ・コンテキスト(または共有秘密)からキーを派生させるためのメカニズムが定義されています。

詳細は、次を参照してください:

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

ネームスペース : http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuritysecext-1.0.xsdhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility-1.0.xsdhttp://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サービス拡張機能やより高いレベルのアプリケーション固有プロトコルと一緒に使用して、様々なセキュリティ・モデルおよびセキュリティ技術を実現することができるビルディング・ブロックです。

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

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

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

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

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

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

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

Web Services Security Policy (WS-SecurityPolicy) 1.2

ネームスペース : 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/200702/ws-securitypolicy-1.2-spec-os.html)では、WS-Policyフレームワークで使用するセキュリティ・ポリシー・アサーションのセットが定義され、WS-Security、WS-Trust、およびWS-SecureConversationのコンテキストにおいてメッセージをどのように保護するかについて記述されています。

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

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に基づく拡張を定義します。これらの拡張により、セキュリティ・トークンをリクエストおよび発行するためのフレームワークを提供し、信頼関係を仲介します。

詳細は、次を参照してください:

Universal Description, Discovery, and Integration (UDDI) 2.0


注意:

この機能は非推奨になっています。

ネームスペース: urn:uddi-org:api_v2

Universal Description, Discovery, and Integration (UDDI)仕様(http://uddi.xml.org)では、Webサービスの記述、既知のレジストリへのWebサービスの登録、他の登録済Webサービスの検索などの標準的な方法が定義されています。

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