- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 基于触发器的 Attended 自动化
- 录制
- 用户界面元素
- 控制流程
- 选取器
- 对象存储库
- 数据抓取
- 图像与文本自动化
- Citrix 技术自动化
- RDP 自动化
- Salesforce 自动化
- SAP 自动化
- VMware Horizon 自动化
- 日志记录
- ScreenScrapeJavaSupport 工具
- Webdriver 协议
- 测试套件 - Studio
- 扩展程序
- 故障排除
在库中加载网页服务
Studio 可以通过“服务编辑器”窗口直接从 SOAP 或 REST 网页服务或 Postman 集合生成活动。
该窗口可用于自动加载给定网页服务(REST 或 SOAP)中的所有方法或端点,只要所提供的链接包含服务定义(Swagger 或 WSDL)即可。
加载后,您可以选择通过哪些端点或方法自动创建活动。所有选定的项目随即会在“活动”面板中显示,位于您在“服务编辑器”窗口提供的“命名空间”下。
.nupkg
文件,并将其发布到 Orchestrator 或自定义位置。如此一来,您便可与其他合作开发者轻松共享新定义的活动。
按照下方的步骤,从网页服务生成活动:
若要编辑服务,只需在“项目”面板的“服务”下右击所需的服务,再选择“编辑服务”。
project.json
文件即可为已加载 SOAP 或 REST 网页服务的 .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
命令行用户界面(见“批量更新命令行参数”页面中的详细说明)发布库时不将网页服务纳入考虑范围。
要在一个循环中多次调用从网页服务生成的活动,请从主库文件创建单独的工作流,然后在其中调用服务方法。在主工作流中,使用“For Each”活动中的“调用工作流文件”活动,并调用先前创建的工作流。
有关从网页服务生成的活动的更多详细信息,请参阅从网页服务生成的活动。
.json
文件的方式已经改变。因此,当且仅当从“编辑服务”窗口编辑现有服务时,才会产生向后兼容性问题。
在下方例子中,我们将使用 Petstore 演示示例网页服务说明相关变化。
在 Studio v2020.4 之前的版本中将服务添加到库项目中后,可以使用“浏览类型…”上下文菜单在 SwaggerPetstore 程序集名称下可以找到下列命名空间:
UiPath.WebClient._ClientNamespace
,您将可以找到以下类型:
xaml
文件中使用了 AddPet 活动,则该活动将成为 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 导入相同的网页服务时,可以找到以下命名空间:
UiPath.WebClient.PetClientNamespace
时会发现以下类型:
xaml
文件中使用了 AddPet 活动则该活动属于 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 通过 API 密钥接收对 Postman 集合的访问权限,该 API 密钥必须添加到“服务编辑器”窗口的“文件”或“链接”字段中。API 密钥是从“Postman 配置文件设置”>“API 密钥”页面生成的帐户范围内的密钥,而不是通过共享集合生成的 API 密钥。因此,对请求的修改只能在 Postman 中完成,而不能在 Studio 中完成。
Studio 会加载集合中定义的所有请求,并且无法单独执行请求。在 Studio 中编辑和修复集合的方式与 SOAP 或 REST 网页服务相同。
get
特定货币的值,并将其显示在 Studio 的“输出”面板中。
在此示例中,我们编写了一份测试脚本来迭代接收到的数据。我们直接在脚本中公开了全局变量,但我们也可以通过 Postman 中的“设置全局变量”代码片段来显示该变量,详情请阅读此处提供的信息。
EUR
值传递给了 Out 参数,其中 In 参数在库中的“属性”面板 >“输入”>“集合”中可见。在同一面板的“输出”部分中,则可以看到 Out 参数。
活动中的输出参数映射到变量后,其值将写入“输出”面板。
可以使用“IF 条件”活动来验证变量的返回值。在此示例中,我们确认变量返回了值,然后将值写入到“输出”面板。