クライアント・アプリケーションが Web サービスから送受信するメッセージの XML タグ付けをカスタマイズすることができます。
Web サービスに含める各操作ごとに、ワークベンチはその操作の入出力 XML メッセージを記述するデフォルトの XML スキーマを生成します。
Web サービス操作の入力メッセージが XML 形式の場合、メッセージはこのデフォルトの XML スキーマに応じてタグ付けされなければなりません。
さらに、Web サービスが操作用に生成する出力メッセージもすべて、デフォルトの XML スキーマに応じてタグ付けされます。
Web サービス操作用に、XML 入力メッセージ、出力メッセージ、または両方のタイプのメッセージの XSL 変換を構成することができます。
これらの XSL 変換は、入出力メッセージ・フローの間に行われます。
カスタム SOAP/HTTP および HTTP POST (text/xml) メッセージのフローには、入力メッセージ用と出力メッセージ用の 2 つの XSL 変換が含まれます。
カスタム HTTP GET/POST (url-encoded) メッセージのフローには、出力メッセージ用の 1 つの XSL 変換のみが含まれます。
以下のセクションでは、サポートされるメッセージ・プロトコルを使用するメッセージの XSL 変換について説明します。
SOAP/HTTP メッセージ・プロトコルを使用した XSL 変換
このセクションでは、SOAP/HTTP メッセージ用のデフォルトのメッセージ・フローについて説明し、さらに XSL 変換を取り込んだフローについて説明します。
デフォルトのメッセージ・フローには、XSL 変換は含まれていないため、Web サービス操作は以下のステップに従います。
- クライアント・アプリケーションは、Web サービス内の操作にアクセスする SOAP/HTTP メッセージを送信します。
メッセージの本体は XML 形式であり、デフォルトのスキーマに従ってタグ付けされます。
- Web サービスはメッセージを受け取り、操作内にある SQL ステートメントまたはストアード・プロシージャー呼び出しをデータベースに渡します。
- Web サービスは、データベースからの応答を受け取り、操作のデフォルトの XML スキーマに従ってタグ付けされた XML メッセージにその応答をパッケージ化します。
- Web サービスはその応答をクライアント・アプリケーションに送信します。
XSL 変換を構成する場合、Web サービス操作のメッセージ・フローは以下のステップに従います。
- クライアント・アプリケーションは、Web サービス内の操作にアクセスする SOAP/HTTP メッセージを送信します。
SOAP 本体にある XML メッセージは、カスタム XML スキーマに従ってタグ付けされます。
- メッセージは変換され、デフォルトの XML スキーマに従ってタグ付けされます。
- Web サービスはメッセージを受け取り、操作内にある SQL ステートメントまたはストアード・プロシージャー呼び出しをデータベースに渡します。
- Web サービスは、データベースからの応答を受け取り、操作のデフォルトの XML スキーマに従ってタグ付けされた XML メッセージにその応答をパッケージ化します。
- メッセージは変換され、カスタム XML スキーマに従ってタグ付けされます。
- Web サービスはその応答をクライアント・アプリケーションに送信します。
図 2. XSL 変換を取り込んだメッセージ・フロー
表 1. XSL 変換からの入出力 |
XSL 変換への入力 |
XSL 変換からの出力 |
最初の XSL 変換 |
カスタム XML スキーマを使用する、SOAP でラップされた有効な XML 文書 |
デフォルトの XML スキーマを使用する、SOAP でラップされた有効な XML 文書 |
2 番目の XSL 変換 |
デフォルトの XML スキーマを使用する、SOAP でラップされた有効な XML 文書 |
カスタム XML スキーマを使用する、SOAP でラップされた有効な XML 文書 |
以下の表に示されているとおり、Web サービスを作成する場合には以下のファイルを提供する必要があります。
- 最初の変換を使用可能にするには、Web サービスに、カスタム XML スキーマのコピー、およびカスタム XML スキーマをデフォルト XML スキーマにマップする XSL ファイルを提供する必要があります。
- 2 番目の変換を使用可能にするには、Web サービスに、カスタム XML スキーマのコピー、およびデフォルト XML スキーマをカスタム XML スキーマにマップする XSL ファイルを提供する必要があります。
表 2. Web サービスに提供する必要があるファイル.
入力メッセージの XSL 変換 |
出力メッセージの XSL 変換 |
カスタム XML スキーマ (XSD ファイル) |
XSL ファイル |
カスタム XML スキーマ (XSD ファイル) |
XSL ファイル |
X |
X |
X |
X |
HTTP POST (text/xml) メッセージ・プロトコルを使用した XSL 変換
このセクションでは、HTTP POST (text/xml) メッセージ用のデフォルトのメッセージ・フローについて説明し、さらに XSL 変換を取り込んだフローについて説明します。
デフォルトのメッセージ・フローには、XSL 変換は含まれていないため、Web サービス操作は以下のステップに従います。
- クライアント・アプリケーションは、Web サービス内の操作にアクセスする HTTP POST (text/xml) メッセージを送信します。
メッセージは XML 形式であり、デフォルトのスキーマに従ってタグ付けされます。
- Web サービスはメッセージを受け取り、操作内にある SQL ステートメントまたはストアード・プロシージャー呼び出しをデータベースに渡します。
- Web サービスは、データベースからの応答を受け取り、操作のデフォルトの XML スキーマに従ってタグ付けされた XML メッセージにその応答をパッケージ化します。
- Web サービスはその応答をクライアント・アプリケーションに送信します。
XSL 変換を構成する場合、Web サービス操作のメッセージ・フローは以下のステップに従います。
- クライアント・アプリケーションは、Web サービス内の操作にアクセスする HTTP POST (text/xml) メッセージを送信します。
メッセージは、カスタム XML スキーマに従ってタグ付けされます。
- メッセージは変換され、デフォルトの XML スキーマに従ってタグ付けされます。
- Web サービスはメッセージを受け取り、操作内にある SQL ステートメントまたはストアード・プロシージャー呼び出しをデータベースに渡します。
- Web サービスは、データベースからの応答を受け取り、操作のデフォルトの XML スキーマに従ってタグ付けされた XML メッセージにその応答をパッケージ化します。
- メッセージは、XML 形式に変換され、カスタム XML スキーマに従ってタグ付けされるか、あるいは HTML またはプレーン・テキストなどの XML 以外の形式に変換されます。
- Web サービスはその応答をクライアント・アプリケーションに送信します。
図 4. XSL 変換を取り込んだメッセージ・フロー
表 3. XSL 変換からの入出力 |
XSL 変換への入力 |
XSL 変換からの出力 |
最初の XSL 変換 |
カスタム XML スキーマを使用する有効な XML 文書 |
デフォルトの XML スキーマを使用する有効な XML 文書 |
2 番目の XSL 変換 |
デフォルトの XML スキーマを使用する有効な XML 文書 |
XML 以外の文書、またはカスタム XML スキーマを使用する有効な XML 文書 |
以下の表に示されているとおり、Web サービスを作成する場合には以下のファイルを提供する必要があります。
- 最初の変換を使用可能にするには、Web サービスに、カスタム XML スキーマをデフォルトのスキーマにマップする XSL ファイルのみを提供する必要があります。カスタム XML スキーマのコピーを提供する必要はありません。
- 2 番目の変換を使用可能にする場合、Web サービスに提供するファイルは必要な出力に応じて以下のように異なります。
- XML への変換を使用可能にするには、Web サービスに、カスタム XML スキーマをデフォルトのスキーマにマップする XSL ファイルのみを提供する必要があります。カスタム XML スキーマのコピーを提供する必要はありません。
- XML 以外の形式への変換を使用可能にするには、デフォルトの XML スキーマを XML 以外の形式にマップする XSL ファイルを提供する必要があります。
表 4. Web サービスに提供する必要があるファイル.
入力メッセージの XSL 変換 |
出力メッセージの XSL 変換 |
カスタム XML スキーマ (XSD ファイル) |
XSL ファイル |
カスタム XML スキーマ (XSD ファイル) |
XSL ファイル |
|
X |
|
X |
HTTP GET/POST (URL エンコード) メッセージ・プロトコルを使用した XSL 変換
このセクションでは、HTTP GET (URL エンコード) および HTTP POST (URL エンコード) メッセージ用のデフォルトのメッセージ・フローについて説明し、さらに XSL 変換を取り込んだフローについて説明します。
デフォルトのメッセージ・フローには、XSL 変換は含まれていないため、Web サービス操作は以下のステップに従います。
- クライアント・アプリケーションは、Web サービス内の操作にアクセスする HTTP GET (URL エンコード) または HTTP POST (URL エンコード) メッセージを送信します。
メッセージは、テキストのストリング内のエンコードされたパラメーターのシーケンスになります。
- Web サービスはメッセージを受け取り、操作内にある SQL ステートメントまたはストアード・プロシージャー呼び出しをデータベースに渡します。
- Web サービスは、データベースからの応答を受け取り、操作のデフォルトの XML スキーマに従ってタグ付けされた XML メッセージにその応答をパッケージ化します。
- Web サービスはその応答をクライアント・アプリケーションに送信します。
XSL 変換を構成する場合、Web サービス操作のメッセージ・フローは以下のステップに従います。
- クライアント・アプリケーションは、Web サービス内の操作にアクセスする HTTP GET (URL エンコード) または HTTP POST (URL エンコード) メッセージを送信します。
メッセージはパラメーターをエンコードします。
XSL 変換はこれらのメッセージでは使用できません。
- Web サービスはメッセージを受け取り、操作内にある SQL ステートメントまたはストアード・プロシージャー呼び出しをデータベースに渡します。
- Web サービスは、データベースからの応答を受け取り、操作のデフォルトの XML スキーマに従ってタグ付けされた XML メッセージにその応答をパッケージ化します。
- メッセージは、XML 形式に変換され、カスタム XML スキーマに従ってタグ付けされるか、あるいは HTML またはプレーン・テキストなどの XML 以外の形式に変換されます。
- Web サービスはその応答をクライアント・アプリケーションに送信します。
図 6. XSL 変換を取り込んだメッセージ・フロー
表 5. XSL 変換からの入出力.
|
XSL 変換への入力 |
XSL 変換からの出力 |
最初の XSL 変換 |
クライアント・アプリケーションからのメッセージでは、XSL 変換はサポートされていません。 |
2 番目の XSL 変換 |
デフォルトの XML スキーマを使用する有効な XML 文書 |
XML 以外の文書、またはカスタム XML スキーマを使用する有効な XML 文書 |
以下の表に示されているとおり、Web サービスを作成する場合には以下のファイルを提供する必要があります。
- XML への変換を使用可能にするには、Web サービスに、カスタム XML スキーマをデフォルトのスキーマにマップする XSL ファイルのみを提供する必要があります。カスタム XML スキーマのコピーを提供する必要はありません。
- XML 以外の形式への変換を使用可能にするには、デフォルトの XML スキーマを XML 以外の形式にマップする XSL ファイルを提供する必要があります。
表 6. Web サービスに提供する必要があるファイル.
入力メッセージの XSL 変換 |
出力メッセージの XSL 変換 |
カスタム XML スキーマ (XSD ファイル) |
XSL ファイル |
カスタム XML スキーマ (XSD ファイル) |
XSL ファイル |
|
|
|
X |