[SOAP Web サービス] アクションの使用例
[SOAP Web サービス] action を使用して、2 つの数値を渡し、オンライン計算アプリケーションから合計を返します。
手順
SOAP Web サービス呼び出しを作成するには、次の手順に従います。
- [SOAP Web サービス] アクションをダブルクリックまたはドラッグします。
- 接続方法を選択します。
- URI を使用して接続する場合は、たとえば、
http://www.dneonline.com/calculator.asmx?WSDL
の URI を入力します。 - ファイルを使用して接続するには、Control Room または Desktop からファイルを選択するか、変数を挿入します。
- URI を使用して接続する場合は、たとえば、
- オプション:
[アドレスの場所] フィールドに SOAP エンドポイントを入力します。
アドレスの場所を指定した場合は、bot は実行時にそのアドレスを使用します。それ以外の場合は、bot は WSDL ファイルのアドレスの場所を使用します。
-
[SOAP リクエストを構築] をクリックします。
[SOAP リクエスト] ウィンドウが表示され、オペレーションとパラメーターの詳細とともに、サービスとポートが表示されます。
-
[SOAP リクエスト] ウィンドウで、ポートのリストを表示したいサービスを展開します。必要なポートをクリックすると、利用可能なオペレーションの一覧が表示されます。必要なオペレーションを選択して [適用] をクリックすると、SOAP リクエストからオペレーションの詳細が取得されます。
[SOAP リクエストを構築] オプションを使用する場合、[サービス]、[ポート]、[操作]、[パラメーター (操作)] フィールドには、選択した操作に応じた詳細が自動的に入力されます。ステップ「10」に進みます。
-
[サービス] フィールドにサービス名を入力します。
このフィールドは、Web サービスでサポートされるポートのコレクションを特定します。このフィールドは、SOAP Web サービス呼び出しの
@サービス名
の値を保持します (例: Calculator)。 - オプション:
[ポート] フィールドに、接続するエンドポイントを入力します。
ポートを指定しなかった場合は、bot は、選択されたサービスに基づいて、WSDL ファイルに記載されている最初のポートを使用します。ただし、そのポートが SOAP Web サービスでサポートされていない場合は、bot の実行に失敗します。このフィールドは、SOAP Web サービス呼び出しの
@バインド名
の値を保持します (例: CalculatorSoap)。 -
[ポート] フィールドで指定したエンドポイントの [SOAP バージョン] を選択します。
[1.1] または [1.2] のいずれかを選択します。
-
[操作] フィールドに、[ポート] フィールドで指定したエンドポイントのサービス関数の名前を入力します。
bot の実行は、以下のいずれかに該当する場合、失敗します。
- ポート フィールドに記載されているポートに操作がない。
- ポートに対する SOAP リクエストに記載されている操作が利用できない。
このフィールドは、SOAP Web サービス呼び出しの@操作名
の値を保持します (例: Add)。 -
[パラメーター (操作)] または [パラメーター (生データ)] を選択して、パラメーターの詳細を表示します。
注: [SOAP リクエストを構築] を選択した場合は、[操作] タブのパラメーター詳細テーブルには、選択した操作のパラメーターが自動的に入力されます。これらのパラメーターの値を入力してください。特定の操作に対するパラメーターは、追加、編集、削除できます。
- [パラメーター (操作)] を選択した場合、各パラメーターの名前と値を入力します。たとえば、次の値を入力します。
- 1 番目の [名前] フィールドには「intA」と入力します。
- 1 番目の [値] フィールドには「10」と入力します。
- 2 番目の [名前] フィールドには「intB」と入力します。
- 2 番目の [値] フィールドには「20」と入力します。
- [パラメーター (生データ)] を選択した場合、[パラメーター] または [資格情報パラメーター] を選択します。
- [パラメーター (操作)] を選択した場合、各パラメーターの名前と値を入力します。たとえば、次の値を入力します。
-
パラメーター: 生データのテキストで資格情報 (ユーザー名やパスワード) を公開せずに、資格情報ロッカーからの資格情報値を使用できます。そのためには、まず資格情報マッパーで資格情報をマッピングして、中括弧で囲んだ生データで参照名を使用する必要があります。
たとえば、生データでは、サーバー認証のためにパスワードをテキストで提供しています。
<aut:AuthHeader> <aut:Password> abc@123</aut:Password> </aut:AuthHeader>
資格情報ロッカーのパスワードを使用するには、次の手順を実行してください。-
[置換の追加] をクリックします。
たとえば pwd のような参照名を [XML での名前] フィールドに入力します。[資格情報] を選択して、資格情報コンテナで利用可能な値を使用するか、[変数] を選択して、資格情報変数を使用するか、[安全でない文字列] を選択して、使用する値を手動で指定します。資格情報ボルトの詳細とその使用方法については「資格情報と Credential Vault の lockers」を参照してください。
- [追加] をクリックします。
-
生データの参照先を、次のように中括弧で指定します。
<aut:AuthHeader> <aut:Password>{{pwd}}</aut:Password> </aut:AuthHeader>
生データで指定された参照名pwd
は、資格情報コンテナに保存されている対応する値に置き換えられます。[置換の追加] で指定したのと同じフォーマットで参照名を入力していることを確認します。たとえば、[置換の追加] にパスワードを pwd と入力し、生データに参照名としてpassword
を入力した場合、bot を実行すると bot でエラーが発生します。
-
[置換の追加] をクリックします。
- 資格情報パラメーター: 生データのパラメーターを資格情報として入力したい場合。[資格情報] を選択して、[Credential Vault] で利用可能な値を使用するか、または [変数] を選択して資格情報変数を使用するか、使用する値を手動で指定するために [安全ではない文字列] を選択します。
-
[認証モード] リストで、[認証なし] または [基本] を選択します。
- [認証なし] を選択した場合は、次のステップに進みます。
- [基本] を選択した場合は、資格情報を入力します。
- オプション: Control Room またはデスクトップからファイルを選択してクライアント証明書を提供するか、変数を挿入します。
- オプション: カスタム ヘッダーを提供します。
- オプション: XML 出力を保存するファイルを指定します。
-
[レスポンスを完了] または [選択したレスポンス] を選択して、回答の範囲を絞り込みます。
- [レスポンスを完了] を選択した場合は、次のステップに進みます。
- [選択したレスポンス] を選択した場合、Xpath 式を手動で作成していて、[Xpath を構築] オプションを使用しない場合は、次の手順を実行します。
- XPath 式を入力します。次に例を示します。
/*[local-name()='Envelope' and namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/']/*[local-name()='Body' and namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/']/*[local-name()='AddResponse' and namespace-uri()='http://tempuri.org/']/*[local-name()='AddResult' and namespace-uri()='http://tempuri.org/']
- 次の XML 出力のセクションを選択します。[値]、[内部 XML]、または [外部 XML]
- [値] を選択した場合は、次の区切り文字オプションを選択します。[パイプ] または [セミコロン]。
- [値] を選択した場合は、次の区切り文字オプションを選択します。[パイプ]、[セミコロン]、または [カスタム]。[カスタム] を選択した場合は、[カスタム区切り文字] (オプション) フィールドに変数または文字を入力します。注: 区切り文字としての特殊文字ドル記号 ($) はサポートされていません。
- XPath 式を入力します。次に例を示します。
-
[Xpath を構築] をクリックします。
出力プレビュー ウィンドウが表示されます。
-
レスポンス本文から適切なノードを選択します。XML パスが自動的に作成されます。[適用] をクリックします。
[Xpath を構築] オプションを使用した場合、[XPath 式] フィールドと [値] フィールドには、選択した操作に応じた詳細が自動的に入力されます。
- オプション:
SOAP リクエストを送信してレスポンスを受信するまでのタイムアウト値を設定するには、[アクションの完了を待機] フィールドで待機時間を指定します (ミリ秒単位)。
デフォルトでは、待機時間は 60,000 ミリ秒です。
-
XML 出力を格納する変数を選択します。
たとえば、prompt-assignment を選択します
-
本文メッセージ内に [メッセージ ボックス] action を変数 prompt-assignment とともに挿入して、[SOAP Web サービス] action の出力を確認します。bot を実行すると、メッセージ ボックスに 30 と表示されます。