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

目次

ACE XML Manager SOAP APIの使用

Policy API について

SOAP インターフェイスへの SOAP 要求の送信

SOAP インターフェイスのイネーブル化

SOAP インターフェイス WSDL へのアクセス

サービス定義の作成と導入

ポリシーの変更の導入

クラスタ管理と SOAP API について

Policy API 参照

getVersion

switchSubpolicy

importWSDL

uploadWSDL

deploy

uploadKey

importKey

uploadConsumerCert

importConsumerCert

addTransformationToHandler

pollUDDISubscription

updateWSDL

updateWSDLSubscriptions

ACE XML Manager SOAP APIの使用

この章では、ACE XML Manager の Simple Object Access Protocol(SOAP)Application Program Interface(API)に当たる Policy API について説明します。内容は次のとおりです。

「Policy API について」

「SOAP インターフェイスへの SOAP 要求の送信」

「SOAP インターフェイスのイネーブル化」

「SOAP インターフェイス WSDL へのアクセス」

「サービス定義の作成と導入」

「ポリシーの変更の導入」

「Policy API 参照」

Policy API について

Policy API はACE XML Manager でのポリシー作成および管理作業へのプログラムに従ったアクセスを提供する SOAP の Document スタイル インターフェイスです。Policy API は、Manager の Web コンソールの機能のサブセットを提供します。ポリシーが完成して導入された後で行われる変更のうち最も頻繁に必要になるのが、追加のバックエンド サービスに適用するポリシーのルールとプロセスの拡張です。開発者によるこの作業を簡単にする Web サービス クライアント アプリケーションは、SOAP API により実装できるようになります。Policy API により、ポリシーへのサービス定義の追加、既存の権限付与グループへのプロビジョニング、およびポリシーの導入が可能になります。

ACE XML Manager のデフォルト設定では、SOAP 管理アクセスはディセーブルになっています。SOAP 管理アクセスを使用するには、明示的にイネーブルにする必要があります。

インターフェイスへのコールには、ACE XML Manager の有効な管理者のユーザ名とパスワードが必要ですが、それらで保護されているからと言って安全な内部ネットワークの外部からインターフェイスを利用できるようにはしないでください。一般には、SOAP 管理アクセスには、Manager Web コンソール アクセスに対するものと同じネットワーク セキュリティ ポリシーを適用すべきです。

SOAP インターフェイスへの SOAP 要求の送信

SOAP API の使用については、次に示すように全般的に注意すべきポイントがいくつかあります。

Policy API サービスのパスは、 /services/v2/Policy です。要求は、ACE XML Manager のホスト名と管理ポート(デフォルトでは、8243)に転送されます。

接続には、Hypertext Transfer Protocol Security(HTTPS)を使用する必要があります。ACE XML Manager は、SOAP クライアントが提供する証明書を無視しますが、クライアントはACE XML Manager が提供する Secure Socket Layer(SSL; セキュア ソケット レイヤ)証明書(Manager 設定で設定される証明書です)をチェックできます。

インターフェイスは、Hypertext Transfer Protocol(HTTP)の Basic 認証で保護されます。クライアントは、ACE XML Manager の Administrator ユーザのユーザ名とパスワードを送信する必要があります。ACE XML Manager で、SOAP API クライアント専用の Administrator ユーザを作成することを推奨します。

API には、アクティブ サブポリシーの設定のためのコールが含まれます。サブポリシーが使用されている場合、アプリケーションは、ポリシーに変更を加える前に、必ず、アクティブ サブポリシーをセットします。

Manager を複数のクラスタの管理に使用している場合、SOAP クライアントは Cluster API を使用してアクティブ クラスタをセットする必要があります。

SOAP 1.1 はサポートされますが、SOAP 1.2 はサポートされません。SOAP 1.2 メッセージを送信すると、その理由を示す「Could not find an appropriate Transport Binding to invoke」テキストとともに soap:Sender 障害が返されます。

SOAP インターフェイスのイネーブル化

ACE XML Manager が SOAP 要求を受け取れるようにするには、システム管理ページのオプションをイネーブルにする必要があります。

SOAP インターフェイスは、保護されたネットワーク以外では使用できないようにしてください。SOAP コールは管理者のユーザ名とパスワードを要求しますが、Web Services Description Language(WSDL)へのアクセスではユーザ名やパスワードは要求されません。

Manager で SOAP API をイネーブルにするには、次のように操作します。


ステップ 1 ACE XML Manager のナビゲーション メニューで、[System Management] リンクをクリックします。

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

ステップ 3 [User Authentication & Security] エリアで、[Permit SOAP Access to the Manager for Administrator Users] オプションを選択します。

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


 

以上で、ACE XML Manager から WSDL を利用でき、認証済み SOAP 要求が受け入れられるようになります。複数のクラスタを管理する Manager では、この変更はすべてのクラスタに反映されます。

SOAP インターフェイス WSDL へのアクセス

ACE XML Manager SOAP インターフェイスをイネーブルにすると、次の Uniform Resource Locator(URL)で、インターフェイスについての記述を行う WSDL を表示できます。

https://<managerhostname>:8243/services/v2/Policy?WSDL

この場合、「8243」は Manager のデフォルト ポートです。実際にインストールするシステムで使われるポートは異なる場合があります。

接続の初期実験として、getVersion SOAP コールを使用して ACE XML Manager で使用している SOAP API のバージョンを取得します。WFetch で、この要求を送信して SOAP API のバージョンを取得します。

SOAPAction: ""
Content-Type: text/xml

<soapenv:Envelope xmlns:soapenv=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.api.policy.reactivity.com">
<soapenv:Header/>
<soapenv:Body>
<v2:getVersion/>
</soapenv:Body>
</soapenv:Envelope>

応答が正常であれば、SOAP Policy API のバージョンを意味する整数値が返されます。図 36-1 に、認証設定や接続設定など、WFetch で使用する必要があるそれ以外の設定を示します。

図 36-1 getVersion 要求

 

サービス定義の作成と導入

SOAP API クライアントは、サービスの記述を担当する WSDL をポリシーにロードすることで、仮想サービスを作成できます。API では、2 とおりの方法で WSDL をロードできます。その 1 つが URL 参照( importWSDL コマンドを使用)、もう 1 つがコールに含む WSDL コンテンツの使用( uploadWSDL コマンドを使用)です。

ユーザは、コマンドで WSDL を指定する他に、WSDL コンテキストを入力する必要があります。WSDL コンテキストは、サービスのポート番号を示す他、任意で、定義済みサービスがプロビジョニングされる権限付与グループを示します。このポート番号は、ユーザ インターフェイス定義のプロパティで、ACE XML Gateway がサービス要求を待ち受けるポートを意味します。

WSDL コンテキストは、次のスキーマ定義を備えています。

<xsd:sequence>
<xsd:element minOccurs="0" name="authGroup"
nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="exposedPort"
type="xsd:int" />
</xsd:sequence>

authGroup は、ポリシー内の既存の権限付与グループの名前で、WSDL で定義したサービスはこのグループにプロビジョニングします。指定した authGroup がポリシー内部にない場合、 Soap:server 障害が返され、指定された権限付与グループがポリシー内にないことを通知します。 authGroup を指定しない場合、サービスはポリシーに追加されますが、プロビジョニングはされません。

exposedPort は、次の例に示すように、結果として生成されるサービスに対するユーザ要求が利用するポートの番号を数値で表したものです。

例 36-1 WSDL アップロード要求の例

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:importWSDL>
<v2:wsdlURL>http://example.reactivity.com/service/order.asmx?WSDL</v2:wsdlURL>
<v2:wsdlContext>
<v2:authGroup>PartnerCustomers</v2:authGroup>
<v2:exposedPort>80</v2:exposedPort>
</v2:wsdlContext>
</v2:importWSDL>
</soap:Body>
</soap:Envelope>

次に、正常に完了した応答を示します。

例 36-2 WSDL アップロード応答の例

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<importWSDLResponse
xmlns="http://v2.api.policy.reactivity.com">
<out
xmlns="http://v2.api.policy.reactivity.com">
<handlerGroup>
<id>ebf342f2642ba532</id>
<name>benefits</name>
</handlerGroup>
<handlers>
<HandlerReference>
<id>693893747f5ee631</id>
<name>retrieveWageReport</name>
</HandlerReference>
<HandlerReference>
<id>058a82868021505e</id>
<name>submitRetirementReport</name>
</HandlerReference>
<HandlerReference>
<id>201121a301b3e40b</id>
<name>retrieveEmployeeStatus</name>
</HandlerReference>
</handlers>
</out>
</importWSDLResponse>
</soap:Body>
</soap:Envelope>

例に示すように、応答では、WSDL アップロードの結果作成された仮想サービスが、その作成元になったハンドラ グループとともにリストされます。

結果から、ポリシー内の各オブジェクトの名前およびハンドラ オブジェクトの識別名がわかります(識別名の値を使用して、ハンドラにトランスフォーム拡張を適用する場合などに、他のコールのハンドラを参照できます)。

ポリシーの変更の導入

クライアント アプリケーションは、WSDL のアップロード後、通常、ポリシーを導入しようとします。その結果、ACE XML Gateway が新しく定義されたサービスのトラフィックをプロキシするようになります。クライアントは、 deploy コールを使用することで、SOAP 要求ともに現在の作業ポリシーを導入できます。

承認ベースの導入がイネーブルの場合は、このコールにより、最後に認定されたポリシーが導入されます。イネーブルでない場合は、ACE XML Manager の管理制御の範囲内で、各 Gateway に現在の作業ポリシーが導入されます。

クライアントは、次のような導入要求を送信することで、ポリシーを導入できます。

例 36-3 導入要求(サンプル)

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:deploy>
<v2:description>Orders service added </v2:description>
</v2:deploy>
</soap:Body>
</soap:Envelope>

サンプルで示すように、要求には、ポリシーの記述を含めることができます。ポリシーの記述により、Policy Manager にポリシーのバージョンが記録されます。ACE XML Manager の構成によって異なりますが、ポリシーの導入で説明が必須になることがあります。

ACE XML Manager の制御の範囲内の ACE XML Gateway のいずれかで導入が成功した場合(一部で成功していない場合も含む)、ACE XML Manager は、成功の応答を返します。

この応答は、各 Gateway(IP アドレスで表示)の状態と その Gateway について導入が成功したかどうかを示します。

成功を意味する要素値 true は、その Gateway への導入の成功を示し、false は成功しなかったことを示します。次に、応答の例を示します。

例 36-4 導入応答の例

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<deployResponse
xmlns="http://v2.api.policy.reactivity.com">
<out xmlns="http://v2.api.policy.reactivity.com">
<serverStatus>
<ServerStatus>
<port>80</port>
<server>10.50.1.207</server>
<success>true</success>
</ServerStatus>
<ServerStatus>
<port>80</port>
<server>10.50.1.202</server>
<success>true</success>
</ServerStatus>
<ServerStatus>
<port>80</port>
<server>10.10.10.10</server>
<success>false</success>
</ServerStatus>
</serverStatus>
</out>
</deployResponse>
</soap:Body>
</soap:Envelope>

クライアント アプリケーションは応答を評価する必要があり、これにより試みた操作の結果を判定できます。具体的には、 success 要素を探して、クラスタ内の各 Gateway について、ポリシー導入の成否を判断する必要があります。

クラスタ管理と SOAP API について

Manager が複数のクラスタを制御する場合、SOAP Policy API をイネーブルにすると、すべてのクラスタで API がイネーブルになります。Manager による各クラスタのポリシーへのアクセスが IP アドレスまたはポートで区別される場合、SOAP API  クライアントは、これらの機能を使用して操作するクラスタと通信できます。

一方、クラスタの Manager に対するアクセスが IP またはポート番号で区別されない場合、SOAP クライアントは、Policy API の各関数をコールする前に、アクティブ クラスタを設定する必要があります。アクティブ クラスタを設定すると、そのクラスタのポリシーが、以降の SOAP API コールのコンテキストになります。

アクティブ クラスタは、Cluster SOAP API を使用して設定します。この API には、クラスタ情報を取得するためのコールとアクティブ クラスタを設定するためのコールが含まれます。クライアントは、アクティブ クラスタを設定すると、Policy API を使用してアクティブ クラスタのポリシーに対する操作を実行できます。

SOAP API クライアントでのクラスタの操作については、次の点に注意してください。

アクティブ クラスタの設定のためのコールと Policy API に対する以降のコールとの間で、HyperText Transfer Protocol(HTTP)セッションを切断しないようにしてください。つまり、クライアントはセッションを維持するための Cookie を処理できなければなりません。

Cluster SOAP API に対するコールは、アクセス制御されるコールではありません(Policy API は、HTTP Basic 認証のクレデンシャルを要求します)。

Cluster SOAP API は、独自の WSDL で記述されます。この WSDL は、次の URL で入手できます(Maneger で SOAP API アクセスがイネーブルの場合)。

https://<managerhostname>:8243/services/Cluster?WSDL

次に、getClusters 操作での要求と応答の例を示します。この操作は、Manager 内のクラスタに関する情報を提供します。

例 36-5

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.api.policy.reactivity.com">
<soapenv:Header/>
<soapenv:Body>
<v2:getClusters/>
</soapenv:Body>
</soapenv:Envelope>

応答は、次のようになります。

例 36-6 getClusters の応答例

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<getClustersResponse xmlns="http://v2.api.policy.reactivity.com">
<out>
<clusterReferences>
<ClusterReference>
<id>3254deb73effb16a</id>
<name>Default Cluster</name>
</ClusterReference>
<ClusterReference>
<id>38b20db7a4987ddb</id>
<name>Cluster A</name>
</ClusterReference>
<ClusterReference>
<id>b23d8a25fa957a4c</id>
<name>Cluster B</name>
</ClusterReference>
</clusterReferences>
</out>
</getClustersResponse>
</soap:Body>
</soap:Envelope>

次の例に示すように、 setCluster 要求でアクティブ クラスタを設定するには、クラスタの id 値を使用する必要があります。

例 36-7 setCluster 要求の例

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.api.policy.reactivity.com">
<soapenv:Header/>
<soapenv:Body>
<v2:setCluster>
<v2:clusterId>b23d8a25fa957a4c</v2:clusterId>
</v2:setCluster>
</soapenv:Body>
</soapenv:Envelope>
 

setCluster コールの例では、アクティブ クラスタをターゲット Manager の Cluster B に設定しています。設定が完了すると、クライアント コードは、Policy API で、WSDL のインポートや、ポリシーの導入、などターゲット Manager 上での操作実行のためのオペレーションをコールできます。

Cluster API の参照情報は、Cluster API WSDL でご確認ください。

Policy API 参照

Policy API は、Manger の Web コンソールで使用できる機能のサブセットに当たる各操作を含みます。このサブセットは、他の方法でポリシーが変更されない限り、新しいサービスをリモートからオンラインにする機能をサポートすることだけを目的にしています。つまり、このサブセットにより、ポリシーをすばやく拡張して、新しいサービスやユーザに適用できるようになります。

このサブセットは、次の操作を含みます。

「getVersion」

「switchSubpolicy」

「importWSDL」

「uploadWSDL」

「deploy」

「uploadKey」

「importKey」

「uploadConsumerCert」

「importConsumerCert」

「addTransformationToHandler」

「pollUDDISubscription」

「updateWSDL」

「updateWSDLSubscriptions」


) 通常、ACE XML Gateway では、別々の要求で発行される 2 つの API コールは同じセッションとは考えられません。つまり、ログイン ユーザのステータス、アクティブ サブポリシーのコンテキストなど、セッション情報は維持されません。ただし、ある応答から次の要求にセッション Cookie を反映することで、2 つの API コールを結び付けることができます。つまり、Cookie を伝達して、同じログイン ユーザが送信するのと変わらない方法で、2 つの連続した SOAP 要求を送信します。最初の SOAP 要求により Set-Cookie ヘッダーが返ってきます。このヘッダーの値を、以降の SOAP 要求の Cookie ヘッダーの値として使用してください。


getVersion

ターゲット Manger 上の SOAP API のバージョン番号を、整数値で返します(SOAP API のバージョン 2 だけです)。

フォーマット

void getVersion()

要求の例

<soapenv:Envelope
xmlns:soapenv=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.api.policy.reactivity.com">
<soapenv:Header/>
<soapenv:Body>
<v2:getVersion/>
</soapenv:Body>
</soapenv:Envelope>

応答の例

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<getVersionResponse
xmlns="http://v2.api.policy.reactivity.com">
<out>2</out>
</getVersionResponse>
</soap:Body>
</soap:Envelope>

switchSubpolicy

サブポリシーを使用するポリシーで、アクティブ サブポリシーを要求で指定したものに切り替えます。以降の変更は、このサブポリシーのコンテキストで実行されます。

一般的な方法として、ターゲット サブポリシーがすでにアクティブ サブポリシーになっていると考えられる場合でも、アプリケーションで必ずサブポリシーを設定してから他の変更に移ることを推奨します。

パラメータ

subpolicyName :アクティブにするサブポリシーの名前

フォーマット

void switchSubpolicy(String subpolicyName)
throws InvalidSubpolicyFault, AuthenticationFault;

要求の例

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:switchSubpolicy>
<v2:subpolicy>Shared</v2:subpolicy>
</v2:switchSubpolicy>
</soap:Body>
</soap:Envelope>

応答の例

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<switchSubpolicyResponse
xmlns="http://v2.api.policy.reactivity.com"/>
</soap:Body>
</soap:Envelope>

) Manger インターフェイスへのアクセスの制御に LDAP 認証が使われている場合、サブポリシーのコンテキストでの SOAP API の使用およびポリシーの導入など特定のタスクの実行には、いくつかの特別な手順を実行する必要があります。ユーザ セッションは複数の要求にまたがって維持されることはないため、サブポリシーのコンテキストも維持されません。このため、以降の要求では、デフォルトで Shared サブポリシーが使用されます。この問題を回避するには、セッション ID Cookie ヘッダーを要求間で反映します。最初の要求で、「switch subpolicy」要求が発行されます。Manger からの応答には、JSESSIONID を含む Set-Cookie ヘッダーが含まれるはずです。このヘッダーの値を、以降の要求の Cookie ヘッダーに挿入する必要があります。


importWSDL

URL で示す位置から WSDL をインポートして、その WSDL で仮想サービスを作成して運用します。

パラメータ

url :インポートする WSDL が存在する位置のフル URL。この引数は必須です。

wsdlContext :WSDL で生成されたサービスがプロビジョニングされる権限付与グループ、およびサービスが公開されるユーザ側のポートを示します。これは、省略可能な要素です。この引数を指定しない場合、デフォルト ポート(80)が使われ、ポリシー内にサービスは作成されますが、権限付与グループへのプロビジョニングは行われません。

フォーマット

WSDLReference importWSDL(String url, WSDLContext wsdlContext) throws InvalidIdentityGroupNameFault, InvalidPortFault, InvalidWSDLFault, InvalidURLFault, InternalErrorFault, AuthenticationFault;

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:importWSDL>
<v2:wsdlURL>http://example.reactivity.com/service/order.asmx?WSDL
</v2:wsdlURL>
<v2:wsdlContext>
<v2:authGroup>PartnerCustomers</v2:authGroup>
<v2:exposedPort>80</v2:exposedPort>
</v2:wsdlContext>
</v2:importWSDL>
</soap:Body>
</soap:Envelope>

uploadWSDL

コールのパラメータで指定された WSDL のコンテンツに基づいて、WSDL をポリシーにロードします。このコールは、ポリシーにロードされる時点での、WSDL ファイルの内部識別名を含む WSDLReference オブジェクトを返します。

パラメータ

filename :ポリシー内部で、WSDL ファイル リソース用に使用される名前。このパラメータは必須です。

wsdl :ポリシーに直接ロードされる WSDL のコンテンツ ACE XML Manager は、この WSDL に基づいてポリシー オブジェクトを生成します。このパラメータは必須です。

wsdlContext :WSDL で生成されたサービスがプロビジョニングされる権限付与グループ、およびサービスが公開されるユーザ側のポートを示します。これは、省略可能な要素です。この引数を指定しない場合、デフォルト ポート(80)が使われ、ポリシー内にサービスは作成されますが、権限付与グループへのプロビジョニングは行われません。

フォーマット

WSDLReference uploadWSDL(String filename, String wsdl, WSDLContext wsdlContext) throws InvalidIdentityGroupNameFault, InvalidPortFault, InvalidWSDLFault, InternalErrorFault, AuthenticationFault;

deploy

現在の作業ポリシーをコンパイルして、Manger の制御の範囲内で、ACE XML Manager から Gateway に転送します。ポリシーに、指定した説明のタグを付けます。ACE XML Manager で承認ベースの導入がイネーブルの場合は、最後に認定されたバージョンのポリシーが導入されます。

パラメータ

description :コンソールの [Policy Manager] ページのポリシー バージョンを記録する、テキストによる簡単な説明。ACE XML Manager の管理者が、ポリシーの記述を導入の要件に設定している場合は、このパラメータは必須です。

フォーマット

DeployResult deploy(String description) throws InternalErrorFault, InvalidPolicyFault, AuthenticationFault;

uploadKey

サービス トラフィックの安全を確保して ACE XML Gateway ポリシーに組み込むために使用する秘密鍵をロードします。鍵は、サービス コール内でバイト配列で指定します。

パラメータ

name :ポリシー内部でのキー リソースのわかりやすい名前。

key :ポリシーにアップロードする鍵のバイト配列表記。

password :鍵に関連付けられるパスワード。

フォーマット

KeyReference uploadKey(String name, byte[] key, String password) throws InvalidKeyFault, AuthenticationFault;

importKey

サービス トラフィックの安全を確保して ACE XML Gateway ポリシーに組み込むために使用する秘密鍵をロードします。鍵は、URL からインポートされます。

パラメータ

name :ポリシー内部でのキー リソースのわかりやすい名前。

keyURL :ACE XML Manager は、この URL で示す位置から鍵をアップロードできます。

password :鍵に関連付けられるパスワード。

フォーマット

KeyReference importKey(String name, String url, String password) throws InvalidKeyFault, InvalidURLFault, AuthenticationFault;

uploadConsumerCert

公開証明書を ACE XML Gateway ポリシーにアップロードします。証明書は、サービス コール内でバイト配列で指定します。

パラメータ

name :ポリシー内部での証明書リソースのわかりやすい名前。

cert :ポリシーにアップロードする証明書のバイト配列表記。

フォーマット

CertReference uploadConsumerCert(String name, byte[] cert) throws InvalidKeyFault, AuthenticationFault;

importConsumerCert

公開証明書を、URL から ACE XML Gateway ポリシーにインポートします。

パラメータ

name :ポリシー内部での証明書リソースのわかりやすい名前。

certURL :ACE XML Manager は、この URL で示す位置から証明書をアップロードできます。

フォーマット

CertReference importConsumerCert(String name, String url) throws InvalidKeyFault, InvalidURLFault, AuthenticationFault;

addTransformationToHandler

以前にロードした拡張トランスフォームを仮想サービスに適用します。クライアントは、拡張の名前とその拡張が取ると予想される引数を認識する必要があります。クライアントは、拡張により要求される引数ごとに引数値を提供する必要があります。

パラメータ

handlerReference :拡張を適用するハンドラの名前またはオブジェクト識別名。WSDL をアップロードするとき、作成した各ハンドラの識別名が返されます。この値を使用して、トランスフォーメーション拡張をハンドラに適用できます。

extension :ハンドラに適用される拡張の名前。これには、トランスフォームの識別名、パラメータ、および適用設定の要素が含まれます。適用設定については、拡張はサービス トランザクションの要求側または応答側に適用できます。

フォーマット

HandlerReference addTransformationToHandler(HandlerReference handlerReference, Extension extension) throws TransformError, InvalidParameters, InvalidTransform, InvalidHandlerFault, InternalErrorFault, AuthenticationFault;

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:addTransformationToHandler>
<v2:handlerReference>
<v2:name>Order</v2:name>
</v2:handlerReference>
<v2:extension>
<v2:id>mytransform</v2:id>
<v2:parameters>
<v2:NameValue>
<v2:name>greeting</v2:name>
<v2:value>spanish</v2:value>
</v2:NameValue>
</v2:parameters>
<v2:request>true</v2:request>
</v2:extension>
</v2:addTransformationToHandler>
</soap:Body>
</soap:Envelope>

pollUDDISubscription

UDDI レジストリをチェックして元々そのレジストリからインポートされた WSDL ファイルが変更されていないかどうかを調べるように、ACE XML Manager に指示します。この操作が機能するには、WSDL のインポート時に ACE XML Manager を設定して、UDDI レジストリでの WSDL の変更をサブスクライブさせる必要があります。

返される PollUDDIResult オブジェクトには、レジストリで変更済みの WSDL の WSDLReference オブジェクトの配列、ならびに接続が失敗していればその情報が含まれます。


) UDDI のサブスクリプションの詳細については、「WSDL インポートによるサービスの仮想化」を参照してください。


パラメータ

なし

フォーマット

PollUDDIResult pollUDDISubscription() throws InternalErrorFault, AuthenticationFault;

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:pollUDDISubscription/>
</soap:Body>
</soap:Envelope>

updateWSDL

URL によって識別される WSDL に基づきポリシーに対して WSDL のアップデート操作を実行します。同じ WSDL の以前のバージョンで生成されたポリシー オブジェクトは、WSDL に変更があった場合その変更に基づいて修正されます。

このコールは、 WSDLReference オブジェクトを返します。このオブジェクトは、ポリシー内でアップデートされた WSDL リソースの内部識別名です。WSDL のアップデートの詳細については、「Web Services Description Language(WSDL)アップデートによる変更の取り込み」を参照してください。

パラメータ

existingWsdl :アップデートされる WSDL リソースの文字列による識別名。この識別名は、 WSDLReference オブジェクトの要素です。

url :現在ロードされている WSDL のアップデートに使用される WSDL のフル URL。この引数は必須です。

wsdlContext :WSDL のアップデートで生成された新しいサービスがプロビジョニングされる権限付与グループ、およびサービスが公開されるユーザ側のポートを示すパラメータです。これは、省略可能な要素です。この引数を指定しない場合、サービスの以前の設定が維持されます。

フォーマット

WSDLReference updateWSDL(String existingWsdl, String url, WSDLContext wsdlContext) throws InvalidAuthGroupNameFault, InvalidWSDLFault, InvalidURLFault, InternalErrorFault, AuthenticationFault, InvalidArgument;

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:updateWSDL>
<v2:wsdlResourceId>resourceid</v2:wsdlResourceId>
<v2:wsdlUrl>http://uddi.example.org/service/order.asmx?WSDL</v2:wsdlUrl>
<v2:wsdlContext>
<v2:authGroup>partners</v2:authGroup>
<v2:exposedPort>8080</v2:exposedPort>
</v2:wsdlContext>
</v2:updateWSDL>
</soap:Body>
</soap:Envelope>

updateWSDLSubscriptions

WSDL に対する変更に基づき、ポリシー内で WSDL の アップデート操作を実行します。ACE XML Manager は、この WSDL について UDDI レジストリからの変更をサブスクライブするように設定されています。同じ WSDL の以前のバージョンで生成されたポリシー オブジェクトは、WSDL に変更があった場合その変更に基づいて修正されます。

この操作がコールされると、ACE XML Manager は、Universal Description, Discovery and Integration(UDDI)レジストリから変更された WSDL を取得します(WSDL アップデートの詳細については、「Web Services Description Language(WSDL)アップデートによる変更の取り込み」を参照してください)。このコールは、変更された WSDL を示す 「pollUDDISubscription」 の呼び出しの後に発生することがよくあります。

操作は、 WSDLSubscriptionUpdateResult オブジェクトを返します。このオブジェクトは、アップデート操作の成否に関する情報を提供します。このオブジェクトは次のように定義されています。

WSDLReference[] successfulUpdates;
FailedUpdate[] failedUpdates;

WSDL 参照は、WSDL リソースの内部ポリシー識別名です。各 FailedUpdate オブジェクトは、WSDL 参照とエラーの説明で構成されます。

WSDLReference attemptedWSDLResource;
String error

パラメータ

なし

フォーマット

WSDLSubscriptionUpdateResult updateWSDLSubscriptions()
throws InternalErrorFault, AuthenticationFault;

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.api.policy.reactivity.com">
<soap:Body>
<v2:updateWSDLSubscriptions/>
</soap:Body>
</soap:Envelope>