- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- 診断ツール
- ワークフロー アナライザー
- 変数
- 引数
- インポートされた名前空間
- トリガーベースの有人オートメーション
- レコーディング
- UI 要素
- 制御フロー
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix テクノロジの自動化
- RDP の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- VMware Horizon の自動化
- ログ
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- Test Suite - Studio
- 拡張機能
- トラブルシューティング
ライブラリに Web サービスを読み込む
Studio では、[サービス エディター] ウィンドウを通じて SOAP あるいは REST Web サービス、または Postman コレクションからアクティビティを直接生成できます。
指定されたリンクにサービスの定義 (Swagger または WSDL) が含まれている限り、このウィンドウを使用すると、特定の Web サービスのすべてのメソッドまたはエンドポイント (REST または SOAP) を自動的にロードできます。
読み込まれたら、アクティビティを自動的に作成するエンドポイントまたはメソッドを選択します。選択されたすべての項目は、[アクティビティ] パネルの [サービス エディター] ウィンドウで指定した [名前空間] の下に表示されます。
.nupkg
ファイルとしてパッケージ化し、Orchestrator またはカスタムの場所にパブリッシュできます。その結果、新しく定義したアクティビティを協力する他の開発者と簡単に共有できます。
Web サービスからアクティビティを生成するには、次の手順を行います。
サービスを編集するには、[プロジェクト] パネルの [サービス] で該当するサービスを右クリックして、[サービスを編集] を選択します。
project.json
ファイルのみをチェックアウトすると、SOAP や REST Web サービスがロードされた .xaml
ファイルで編集サービスオプションが有効化されます。
project.json
ファイルとサービスドキュメントに反映されます。project.json
ファイルに webServices
ノードが追加されます。それぞれのサービスは次の要素によって特定されます。
パラメーター |
説明 |
---|---|
|
[サービス エディター] ウィンドウで入力したサービス名です。 |
|
SOAP または Swagger サービスのメタデータを含む
.json ファイルへのパスです。このファイルは、サービスの修復時に使用されます。また、プロジェクトの一部としてバージョン管理の対象となります。
|
|
Swagger または SOAP リソース ([サービス エディター] ウィンドウでサービス作成時に入力) へのファイル パスまたはリンクです。 |
|
サービスのバージョン管理に必要な参照です。 |
サービスを修復する
dll
files generated from SOAP or REST web services are not pushed to source control repositories. Therefore, when checking out libraries that contain services, the projects have unresolved activities in the Designer panel.
.dll
ファイルを再生成するには、[プロジェクト] パネルでサービス ノードを右クリックし、コンテキスト メニューで [サービスを修復] を選択します。
.json
ファイルに格納されます。読み込まれたサービスに関連する .json
ファイルがない場合は、サービス ノードに関する [修復サービス] コンテキスト メニューのオプションによって、サービス作成時に入力されたドキュメント記述子へのリンクを使用して欠損している .json
ファイルが生成されます。その結果、サービスが最初に生成された際に適用されていたフィルターは、それ以降適用されなくなり、前述のパスまたはリンクにより提供されるすべてのリソースがインポートされます。
UiPath.Studio.CommandLine.exe
コマンド ライン ユーザー インターフェイスを使用したライブラリのパブリッシュでは、Web サービスは考慮されていません。
Web サービスで生成されるアクティビティをループ内で複数回呼び出すには、メイン ライブラリ ファイルから別のワークフローを作成し、その中でサービス メソッドを呼び出します。さらに、メイン ワークフローの[繰り返し (コレクションの各要素)] アクティビティ内で[ワークフロー ファイルを呼び出し] アクティビティを使用して、先ほど作成したワークフローを呼び出します。
Web サービスから生成されたアクティビティについて詳しくは、「Web サービスから生成されたアクティビティ」をご覧ください。
.json
ファイルを解釈する方法が変更されたため、既存のサービスを [サービスを編集] ウィンドウから編集する場合にかぎり、後方互換性の問題が発生します。
以下の例では、Petstore デモ Web サービスを例に、この変更について説明します。
Studio v2020.4 より前では、ライブラリ プロジェクトにサービスを追加した後、コンテキスト メニューの [型の参照…] を使用すると、SwaggerPetstore アセンブリ名に次の名前空間が表示されます。
UiPath.WebClient._ClientNamespace
をドリルダウンすると、次の型が表示されます。
xaml
ファイルで使用した場合、それは UiPath.WebClient._ClientNamespace
に含まれていたということです。次の抜粋のように、要求の生成には _ClientAddPetRequest
型を使用していました。
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
Studio v2020.4 を使用する場合、同じ Web サービスをインポートすると、次の名前空間が表示されます。
UiPath.WebClient.PetClientNamespace
を展開すると、次の型が表示されます。
xaml
ファイルで使用すると、それは UiPath.WebClient.PetClientNamespace
に含まれ、要求の生成には PetClientAddPetRequest
型を使用するということです。これらは、v2020.4 より前のバージョンで作成されたライブラリのものとは異なる名前空間と型です。
以下に、v2020.4 で作成した、そのようなライブラリの抜粋を示します。
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
Postman アプリケーションを使用して、API の定義を作成したり、それらの定義をグループ化してコレクションにしたりできます。これにより、要求をまとめて整理し、連鎖させることができます。Postman では API 要求間でデータを渡すスクリプトがサポートされています。コレクションの作成について詳しくは、Postman のオンライン ドキュメントをご覧ください。
Postman のコレクションが既に存在する場合は、その要求を Studio に読み込んでアクティビティを生成できます。このコレクションのメンテナンスは Postman で行い、変更はすべてワークフローにも反映されます。
Studio は Postman コレクションへのアクセス権限を API キーにより受け取ります。このキーは、[サービス エディター] ウィンドウの [ファイルまたはリンク] フィールドに追加する必要があります。API キーは、Postman のプロファイル設定の [API keys] ページで生成されるアカウント全体のキーであり、コレクションを共有することによって生成される API キーではありません。したがって、要求の変更も Postman のみで行い、Studio では行いません。
Studio はコレクションに定義されたすべての要求を読み込み、リクエストは個別には実行できません。Studio 内のコレクションの編集と修復は、SOAP または REST Web サービスと同じ方法で行います。
- Nodejs および NodeJS CLI、バージョン 6
- Newman バージョン 4.5.5
Newman のインストール後は、マシンを再起動することを推奨します。
get
して Studio の [出力] パネルに表示するために、Postman コレクションを使用しています。
この例では、受信したデータを繰り返し処理するテスト スクリプトを作成しました。グローバル変数をスクリプト内で直接宣言していますが、Postman のグローバル変数の設定スニペットも使用できます。詳細は、こちらをご覧ください。
EUR
の価値を出力引数に渡しています。これはライブラリの [プロパティ] パネル > [入力] > [コレクション] で確認できます。出力引数も、同じパネルの [出力] セクションに表示されています。
アクティビティの出力引数は、変数にマッピングされ、その値が [出力] パネルに書き込まれます。
変数の戻り値を検証するために、[条件分岐 (if)] アクティビティを使用できます。この例では、値が返されることを検証し、それを [出力] パネルに書き込みました。