Cisco ACE XML Gateway ユーザ ガイド
サービス情報の公開
サービス情報の公開
発行日;2012/02/01 | 英語版ドキュメント(2009/11/20 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 8MB) | フィードバック

目次

サービス情報の公開

概要

公開されるホスト名について

公開されるホスト名の設定

でのサービスに対する WSDL の生成

WSDL 生成時のエラーに対するトラブルシューティング

での URL による WSDL の公開

WSDL の UDDI レジストリへの公開

全般的な UDDI の設定

ユーザ名と UDDI について

UDDI 公開用ハンドラ グループの識別

UDDI レジストリへのサービス情報の公開

サービス ディレクトリの使用

ディレクトリの表示

WSDL リンクの使用

概要

Web Services Description Language(WSDL)は、Web サービスのプロパティおよび機能の説明に使用する標準メカニズムです。WSDL ファイルには、使用可能なサービス オペレーションやその使用方法が記述されます。多くの統合開発環境では、サービス クライアント アプリケーション向けのフレームワーク コードを迅速に生成するメカニズムとして WSDL インポートがサポートされます。このため、クライアント開発者は ACE XML Gateway によって公開されるサービスを記述する WSDL にアクセスすることがしばしば必要となります。

そこで、ポリシーで定義されているサービスに基づいて ACE XML Managerが WSDL を生成し、公開できるようにして、内部ネットワークの外部にいるクライアント開発者が WSDL を利用できるようにすることができます。WSDL は UDDI レジストリまたは ACE XML Gateway の URL に公開できます。UDDI は、サービス ユーザがサービスの可用性についての情報を得る際に使用する標準ベースのディレクトリ サービスです。

ACE XML Manager へアクセス可能な開発者は、WSDL およびサービス情報へアクセスするためのオプションを別途持っています。サービス ディレクトリとは、ACE XML Gateway で使用可能なサービスを記述した ACE XML Manager 内のページであり、ACE XML Manager で開発者アカウントを持つユーザはそこから WSDL にアクセスしてそれらのサービスを要求できます。ACE XML Manager Web コンソールには、サービスの可用性を確認するためだけにコンソールへのログインが必要な開発者ユーザを対象としたユーザ アカウントの種類も含まれます。

公開されるホスト名について

WSDL ファイルには、WSDL によって記述されたサービスへアクセスするためクライアントが指定するホスト名が含まれていることが必要です。WSDL を生成する際、ACE XML Manager はいくつかの理由により使用するホスト名を予測しません。

実稼動環境では、Gateway は通常ロードバランサの後ろでクラスタ化されます。ACE XML Manager はロードバランサのホスト名を自動的に判別できないため、WSDL 内の外部解決可能なホスト名に対して意味のある値を提供できません。

したがって、ACE XML Manager は WSDL ファイルを生成する場合、単に自身の IP アドレスをホスト名のデフォルト値として書き込みます。このデフォルト値が変更されずに残されるのは、1 つのスタンドアロン アプライアンスが、ロードバランサによるメリットを受けずにすべてのバックエンド サービスを保護する場合だけです。それ以外のすべての設定では、自動生成された WSDL ファイルに ACE XML Manager が自動的に書き込む、外部からのアクセス可能なホスト名を指定する必要があります。

通常、ACE XML Manager によって生成される WSDL は、最初のクライアント接続を受け入れるアプライアンスのドメイン名を、公開されたアドレスとして指定する必要があります。アプライアンスのクラスタがロードバランサを使用してトラフィックを分散している場合、(クラスタ化されたアプライアンスのアドレスではなく)ロードバランサのアドレスが ACE XML Gateway の公開アドレスとして指定される必要があります。

公開されるホスト名の設定

ACE XML Gateway でサービスの可用性の公開に使用するホスト名を変更するには、次の手順を行います。


ステップ 1 ACE XML Manager Web コンソールに administrator ユーザとしてログインしている場合は、操作メニューで [System Management] リンクをクリックします。

ステップ 2 ページ上部近くの ACE XML Manager セクションの右側にある Gateway の [Settings] リンクをクリックします。

ステップ 3 ページ下部の [WSDL Publishing] セクション にある [Published Hostname] フィールドに新しいホスト名を入力します。

この名前は外部で解決可能な、ACE XML Gateway または Gateway クラスタの名前にする必要があります。

ステップ 4 [Save] をクリックして新しい公開ホスト名を確定します。


 

以上の操作により、ACE XML Manager から WSDL を生成した場合に、WSDL のサービス プロバイダーのホスト名の値には、入力した公開ホスト名が反映されます。

...

<soap:address location="http://mygateway.example.com:80/service/order"/>
</port>

ACE XML Gateway でのサービスに対する WSDL の生成

ACE XML Managerでは、ACE XML Gateway で仮想化されるサービスを記述した WSDL を生成できます。ポリシーの観点から見ると、WSDL はあるハンドラ グループに該当し、サービス オペレーションはハンドラ グループ内で互換性のある各サービスに該当します。

ACE XML Manager は Document/リテラル スタイルまたは RPC/リテラル スタイルの WSDL を生成できます。Manager による WSDL 生成では、Document/エンコード スタイルまたは RPC/エンコード スタイルはサポートされません。ただし、ポリシー作成向けにインポートした WSDL では使用できます(Document/リテラル スタイルおよび RPC/リテラル スタイルは、WS-I に準拠していますが、エンコードされた WSDL バインディング スタイルは準拠していません)。

Manager が特定のハンドラ グループ向けに WSDL を生成するようにするには、ハンドラ グループの横にある [View WSDL] リンクをクリックします。WSDL は最後に導入されたポリシーのバージョンに基づいて生成されます。UDDI または "?WSDL" URL ベース の WSDL 公開を使用する場合、Manager は対応する WSDL ポリシー導入を自動的に生成します。

WSDL 生成の詳細については、次のセクション「WSDL 生成時のエラーに対するトラブルシューティング」を参照してください。

WSDL 生成時のエラーに対するトラブルシューティング

ACE XML Manager はハンドラ グループに WSDL ファイルを提供できない場合があります。これには、設定エラー、またはグループ内で正しく設定されているハンドラのある特性など、いくつか理由が考えられます。ハンドラ グループで WSDL リンクが提示されない理由を判別するには、[Virtual Services] ブラウザでハンドラ グループを調べます。

ハンドラ グループに、生成された WSDL ファイルが含まれない理由の 1 つは、WSDL を生成できるハンドラがグループに含まれていない可能性があることです。たとえば、TIBCO Rendezvous(TIB/RV)サービスは WSDL による記述をサポートしていないため、ACE XML Manager はこのサービスを記述した WSDL ファイルを生成できません。グループ内のすべてのハンドラが、WSDL 記述をサポートしないサービスへのトラフィックの経路しか指定していない場合、このグループには WSDL ファイルを生成できません。

一般に、適切な WSDL の生成の妨げとなるエラーは次の 2 つのカテゴリに分類されます。

生成エラー には、ターゲットのネームスペースの競合、プロビジョニングされていないハンドラ、HTTP アクセスと互換性のないハンドラ、などが含まれます。

検証エラー には、ハンドラ名の重複などがあり、新しく生成された WSDL ファイルを ACE XML Manager が使用可能にする前に検証したときに検出されます。

WSDL 生成エラー情報は [Virtual Services] ブラウザで確認できます。ハンドラ グループによる WSDL の正常な生成を妨げたエラーは ACE XML Manager によって通知されます。エラーにより WSDL が生成されなかった場合、[Virtual Services] ブラウザの [view report] リンクの横にエラー メッセージが表示されます。レポートの情報を使用して、ハンドラ グループを編集して問題を解決します。ハンドラ グループに WSDL をサポートしないサービス(TIB/RV など)が含まれている場合、[view report] リンクに "not WSDL-compatible" というメッセージが表示されます。

それ以外の場合は、"WSDL not available" というレポートが Web コンソールに表示されます。レポートを表示するには、次の手順を行います。


ステップ 1 Administrator ユーザ、 Policy View ユーザ、または [Routing] ロールを持つ Privileged ユーザとしてログインしている場合は、メニューの [Routing] セクションの [Virtual Services] リンクをクリックします。

ACE XML Manager にハンドラの情報を示すページが表示されます。

ステップ 2 [Routing] ページで該当するハンドラ グループを探します。デフォルトでは、このページにはハンドラがハンドラ グループ別に表示されます。このグループに対して自動生成された WSDL ファイルが ACE XML Manager で自動的に表示できない場合は、ハンドラ グループの見出しに [generate WSDL] の代わりに "WSDL not available - view errors" というメッセージが表示されます。

ステップ 3 リンクをクリックすると、WSDL 生成の妨げとなった問題を説明するページが表示されます。


 

すでに述べたとおり、あるハンドラ グループに対して WSDL 生成の妨げとなる状況はさまざまです。特に、WSDL 生成が正常に実行されるには、XML 本文に対するスキーマが存在することが必要です。

ACE XML Manager 自体が XML スキーマを取り出すことができ、ポリシー作成者が XML スキーマを提供する必要がある場合、次の点に注意してください。

SOAP RPC サービスの場合、ACE XML Manager は指定された引数の種類に基づいてスキーマを生成します(複雑な種類の引数にはスキーマを提供する必要があります)。

SOAP Document サービスの場合、サービスが WSDL インポートによって作成されていれば、Manager は WSDL からスキーマを取り出します。サービスが WSDL インポートによって作成されたものでなければ、SOAP 本文の内容に関するスキーマを直接アップロードする必要があります。

ポスト XML 本文を備えた HTTP サービスの場合、XML ペイロード全体に対してスキーマを提供する必要があります。


) 未加工のバイナリ本文は、WSDLMessage の部分が入力されない状態で、生成済みの WSDL に表示されます。


ハンドラ グループのサービスは、XML ペイロードに対するスキーマを備えていないため、WSDL 生成プロセスでは無視されます。ただし、グループ内に少なくとも 1 つの有効なハンドラがあれば、ハンドラ グループに対する WSDL 生成は実行されます。

ACE XML Gateway での URL による WSDL の公開

従来は、SOAP フレームワークはサービスを説明する WSDL を、 ?WSDL によって追加されたサービス アクセス URL で構成された URL で使用可能にします。

たとえば、次の URL でホストされている SOAP サービスは、 http://example.com/service/order.asmx

次の URL で使用可能な WSDL によって記述されます。 http://example.com/service/order.asmx?WSDL

SOAP サービスが公開されているポートが SSL によって保護されている場合、WSDL は保護されているポートに表示されます。 https://example.com:43/service/order.asmx?WSDL

ACE XML Gateway で公開されている WSDL にはアクセス コントロール要件を適用できません。WSDL には機密情報が含まれていることがあるため、クライアント開発を簡易化するために必要な場合だけ、WSDL の公開を有効にできます。

ACE XML Gateway ポリシーのコンテキストでは、各 WSDL がハンドラ グループに対応しています。ただし、ハンドラ グループ内のサービス オペレーションには異なる URL を指定できます。この場合、ハンドラ グループ内の各 URL では同じ WSDL が公開されます。


) WSDL の URL パスが 1014 文字を超えた場合、WSDL は取得不可能です。代わりに、WSDL に対する要求は、WSDL によって記述されているサービスに到達します(つまり、?WSDL 文字列は URL に追加されていないかのように見えます)。


WSDL の公開は、サービスごとに設定不可能です。ポリシーで公開されるすべてのサービスについて、有効または無効に設定します。

サービス URL で WSDL の公開を有効にするには、次の手順を行います。


ステップ 1 Manager の Web コンソールで、操作メニューの [System Management] リンクをクリックします。

ステップ 2 Gateway の [Settings] リンクをクリックします。

ステップ 3 Gateway の [Settings] ページで、下方向へスクロールして [WSDL Publishing] 設定を表示します。

ステップ 4 WSDL で記述されているサービスへのアクセスにユーザが使用するホスト名を [Published Hostname] フィールドに入力します。

WSDL は、サービス プロバイダーのエンドポイントをポートとして定義します。ポート定義にはアトリビュートが含まれ、アトリビュートにはサービスをホストするサーバのホスト名が含まれます。デフォルトでは、ACE XML Manager のホスト名は、生成された WSDL 内でサービス アドレスの場所を示す値として使用されます。[Published Hostname] フィールドの値は、ACE XML Manager ホスト名の代わりにサービスの場所を示すアドレスとして使用され、この値がデフォルトとなります。

ステップ 5 [Serve WSDL files from the ACE XML Gateway] オプションを選択すると、WSDL がハンドラ グループをサポートするよう生成され、サービス URL に公開されます。

ステップ 6 ページ下部の [Save Changes] ボタンをクリックします。

ステップ 7 ポリシーを導入して、WSDL が WSDL のある場所で生成され公開されるようにします。WSDL はポリシーを導入するまで生成されないことに注意してください。


 

ポリシー導入後、サービス WSDL は ACE XML Gateway でクライアント開発者に対して使用可能になります。

図 31-1 サービス URL で公開される WSDL

 

WSDL の UDDI レジストリへの公開

Universal Description, Discovery and Integration(UDDI)プロトコルは、ネットワーク リソースへ照会して他のネットワーク リソースの説明と接続方法を検索する方法を定義しています。UDDI によって、企業およびアプリケーションが Web サービスを容易に検出して使用できる、相互運用性のある標準プラットフォームが作成されます。

ACE XML Gateway は設定済みハンドラに関する情報を UDDI レジストリに公開して、保護されているサービスへユーザが接続するのに必要な情報を迅速かつ容易に取得できるようにします。この情報により、ユーザは ACE XML Gateway で公開されているサービスを説明している WSDL を検索する場所がわかります。ACE XML Manager は ACE XML Gateway の " ?WSDL " の URL を UDDI レジストリに公開します。

UDDI の公開には次のタスクが含まれます。


ステップ 1 全般的な設定を行って、UDDI レジストリの公開を有効にします。

ステップ 2 UDDI に公開するハンドラ グループを選択します。

ステップ 3 ポリシーの導入後(これにより WSDL が生成)、WSDL を UDDI に公開します。


 

最初の手順は、UDDI へ初めて公開する前に 1 回だけ実行する必要があります。2 番目と 3 番目の手順は、公開された情報を更新するたびに必要です。たとえば、ACE XML Gateway に新しいハンドラ グループやサービスが追加された場合などです。

全般的な UDDI の設定

UDDI の公開で実行する最初の手順は、ポリシーで UDDI レジストリを設定することです。


ステップ 1 ACE XML Manager の Web コンソールで、操作メニューの [Administration] セクションの [System Management] リンクをクリックします。

ステップ 2 Gateway の [Settings] リンクをクリックします。

ステップ 3 ページ下部の [WSDL Publishing and UDDI] セクションで、ユーザが ACE XML Gateway のアドレスを指定するのに使用するホスト名を [Published Hostname] フィールドに入力します。この値は、生成された WSDL の [Port] アドレスとして表示されます。

詳細については、「公開されるホスト名について」を参照してください。

ステップ 4 [Serve WSDL files from the ACE XML Gateway] というラベルのオプションを有効にします。この操作は、UDDI の公開が正常に実行されるために必要です。ACE XML Manager は ACE XML Gateway で公開されている WSDL ファイルのアドレスだけを UDDI に公開します(ACE XML Manager で公開されている WSDL ファイルのアドレスは公開されません)。

ステップ 5 サービス情報の公開先とする UDDI レジストリとの通信に必要な情報を [UDDI Publishing] フィールドに入力します。

表 31-1 UDDI 公開設定

 

フィールド
説明

[Inquiry URL]

UDDI レジストリが Web サービスに関する情報のクエリーを受け入れる URL。

[Publish URL]

レジストリが公開された要求を受け入れる URL 。

[Username]

ACE XML Manager が UDDI レジストリにログを記録する際のユーザ名。UDDI とユーザ名の詳細については、「ユーザ名と UDDI について」を参照してください。

[Password]

ACE XML Manager が UDDI レジストリにログを記録する際に使用するパスフレーズ。

[Repeat Password]

[Password] フィールドに入力された値を確認するためのフィールド。

[Business Name]

UDDI ビジネス レコードの作成に使用される名前。この名前に、ハンドラ グループと WSDL ファイルに関するすべての情報が関連付けられます。

上記のフィールドの適切な値がわからない場合は、UDDI レジストリの管理者に問い合せてください。UDDI レジストリに接続して、WSDL ファイルを公開するには、ACE XML Manager には有効な認証情報が必要です。

ステップ 6 設定が完了したら、ページ下部の [Save Changes] ボタンをクリックします。


 

以上で、ACE XML Manager は指定された UDDI レジストリにハンドラ グループを公開するよう設定されます。公開対象として設定されているハンドラ グループ(「UDDI 公開用ハンドラ グループの識別」を参照)だけが公開されます。

ユーザ名と UDDI について

設定済みのハンドラに関する情報を UDDI レジストリへ公開する場合、UDDI レジストリでは情報はポリシー設定に含まれるユーザ名に関連付けられます。後でポリシーのユーザ名を変更する場合、公開されている情報は最初のユーザ名に関連付けられているため、その情報を変更しようとすると、問題が発生する場合があります。安全上の理由から、UDDI レジストリでは公開されている情報を別のユーザが変更できません。

このような問題を防止するため、次の手順に従ってください。


ステップ 1 UDDI レジストリの公開に使用するユーザ名またはパスワードを変更する前に、ACE XML Manager の UDDI の公開ページに移動します。

ステップ 2 [Delete Published Data from UDDI Server] ボタンをクリックして、以前 ACE XML Manager から公開した UDDI レジストリのエントリを削除します。

ステップ 3 UDDI への公開に使用するユーザ名とパスワードを入力します。

ステップ 4 UDDI の公開ページに戻り、[Publish] ボタンをクリックしてハンドラ情報を UDDI レジストリに再公開します。


 

ACE XML Manager は新しい UDDI ユーザ名とパスワードを使用して情報を公開します。

UDDI 公開用ハンドラ グループの識別

サービス情報を UDDI レジストリに公開するには、まず、仮想サービスが所属するハンドラ グループに対する UDDI 公開を次に示す手順で有効にする必要があります。


ステップ 1 操作メニューで [Virtual Services] リンクをクリックします。

ステップ 2 UDDI レジストリで公開するハンドラ グループの名前をクリックします。

ステップ 3 [Edit Handler Group] ページで UDDI 公開の設定を展開して表示します。

ステップ 4 [Enable publishing this handler group to the UDDI server] というラベルのオプションを選択します。

ステップ 5 サーバのユーザがサービスの内容を理解できるようハンドラ グループの説明を [UDDI Description] フィールドに入力します。

ステップ 6 [Save Changes] をクリックします。

ステップ 7 上記の手順を、公開する各ハンドラ グループに対して繰り返し実行します。

ステップ 8 ポリシーを導入して、WSDL ファイルをハンドラ グループに対して生成させます。


 

公開プロセスを完了するには、次のセクション「WSDL の UDDI レジストリへの公開」の手順に従います。

UDDI レジストリへのサービス情報の公開

ハンドラ グループが、保護しているサービスに関する WSDL 情報を書き込めるよう設定されている場合、その情報を設定されている UDDI レジストリに公開できます。この手順を行う前に、ポリシーを導入しておくことが必要です。

ハンドラ グループに関する WSDL 情報を UDDI レジストリに公開するには、次の手順を実行します。


ステップ 1 [Policy Manager] ページの [UDDI Publishing] ボタンをクリックします。

ステップ 2 [UDDI Publishing] ページで [Publish Handler Groups To UDDI] ボタンをクリックします。

ACE XML Manager は、公開するよう設定されている、ポリシーのすべてのハンドラ グループの WSDL データを公開します。Manager は ACE XML Gateway で公開されている WSDL の ?WSDL アドレスの場所を公開します。


 

「UDDI 公開用ハンドラ グループの識別」の手順に従っているにもかかわらず [Publish Handler Groups To UDDI] ボタンが有効になっていない場合は、WSDL 生成時にエラーが発生している可能性があります。詳細については、「WSDL 生成時のエラーに対するトラブルシューティング」を参照してください。

サービス ディレクトリの使用

ACE XML Manager のサービス ディレクトリには ACE XML Gateway で使用可能なサービスの一覧とそのサービスに関する情報が示され、またサービスの内容を説明した WSDL ファイルをユーザがダウンロードする際のリンクも表示されます。

ディレクトリの表示権限を持つ ACE XML Manager Web コンソール ユーザは、ACE XML Gateway で公開されるサービスを使用するクライアント アプリケーションを作成する際のリファレンスとしてこのディレクトリを使用します。

ディレクトリには、各ハンドラの名前とプロトコル、ユーザが接続に使用する URL、およびハンドラの認証要件の説明が示されます。

ハンドラ名をクリックすると、ハンドラに関する追加情報(着信メッセージおよび送信応答に関するメッセージ仕様や、テキストによるハンドラの内容説明など)が表示されます。

ディレクトリの表示

[Policy View] または [External Developer] ロールを持つユーザは、正常にログインした後このディレクトリを表示できます。ディレクトリは開発者には次のように表示されます。

図 31-2 ディレクトリ:開発者用ビュー

 

ディレクトリを Privileged ユーザとして表示するには、コンソールで操作メニューの [Reports & Tools] セクションの [Service Directory] リンクをクリックします。[Directory Index] ページが表示されます。

安全上の理由から、ディレクトリには表示しているユーザが接続する権限を持っているハンドラしか表示されません。この制約は、[External Developer] ロールを持つユーザとしてログインした場合、すべてのハンドラの情報を表示できるとは限らないことを意味しています。たとえば、プロビジョニングされていないハンドラは表示されません。

表の各行には、仮想サービスの名前、サービスが受け入れるメッセージ プロトコル、ユーザがハンドラへの接続に使用する公開 URL、およびハンドラの認証要件を説明するアイコンが示されます。

各ハンドラ グループの名前は、ページのすべてのカラムにわたるバナーとして表示されます。バナーの下に、そのグループ内の各ハンドラを説明するテーブル エントリがあります。グループ内のすべてのハンドラが WSDL と互換性がある場合、このバナーには [View WSDL] リンクが表示され、そのリンクからハンドラ グループの WSDL ファイルをダウンロードできます。

[Handler Name] カラムには、ハンドラの名前とプロトコルが表示されます(SOAP 1.1 Document など)。

[Interface] カラムには、ユーザがハンドラへの接続に使用する URL が表示されます。ハンドラが SOAP ドキュメントを受け入れる場合、このカラムのエントリには関連する SOAPAction の URL も表示されます。ハンドラがメッセージのバス トラフィックを受信する場合、カラムにはプロバイダーとトピックの情報が表示されます。

[Description] カラムの錠アイコンは、ハンドラが認証を必要とするかどうかを示します。一般にプロビジョニングされているハンドラの場合は、[Description] カラムには開錠状態のアイコンが表示され、認証が必要なハンドラの場合は、施錠状態のアイコンが表示されます。

仮想サービスの詳細情報を表示するには、そのサービス名をクリックします。表示されるページには、サービスに関する詳細情報(テキストによる短い説明、プロビジョニングの要約、メッセージ仕様の説明など)が示されます。このページに表示されるテキストの説明は、ハンドラの作成者が記載し、それ以外のすべての情報は、ACE XML Gateway によって生成されます。

WSDL リンクの使用

ディレクトリ内のハンドラ グループが WSDL リンクを備えている場合、WSDL ファイルを取り込んで、このファイルを使用してクライアント アプリケーションを設定できます。WSDL ファイルを使用するには、WSDL リンクをクリックして、ファイルをローカル ファイル システムに保存します。次に、保存したファイルを WSDL 対応のツールにインポートします。

ハンドラを手動で設定して、後でこのハンドラ用に生成された WSDL ファイルを使用する場合、生成された WSDL ファイルに表示されるハンドラの名前が、ユーザが指定した名前と違っている場合があります。ハンドラには自由に名前を付けることができますが、有効な WSDL ファイルに表示可能なテキスト文字には制限があります。ACE XML Manager によって生成される WSDL ファイルが不適切な制限を受けずに有効なファイルとなるよう、ACE XML Manager はハンドラ名に含まれる不正な文字を自動的に下線(_)と置き換えます。

自動生成される名前は、SOAP トラフィックには表示されず、SOAP メッセージの処理には影響を及ぼしません。これらが表示されるのは、開発フレームワーク(Visual BASIC™ または Java™ 開発ツールなど)が自動生成された WSDL ファイルをインポートする際に、開発フレームワークによって自動生成されるクラスの名前の中だけです。

ハンドラ グループが WSDL リンクを備えていない場合、ハンドラ グループに関連する WSDL の生成時に問題が発生する可能性があります。詳細については、「WSDL 生成時のエラーに対するトラブルシューティング」を参照してください。