studio
latest
false
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Studio 用户指南

上次更新日期 2026年2月24日

在库中加载网页服务

Studio 可以通过“服务编辑器”窗口直接从 SOAP 或 REST 网页服务或 Postman 集合生成活动。

SOAP 和 REST 网页服务

该窗口可用于自动加载给定网页服务(REST 或 SOAP)中的所有方法或端点,只要所提供的链接包含服务定义(Swagger 或 WSDL)即可。

加载后,您可以选择通过哪些端点或方法自动创建活动。所有选定的项目随即会在“活动”面板中显示,位于您在“服务编辑器”窗口提供的“命名空间”下。

之后便可将这些库打包为 .nupkg 文件,并将其发布到 Orchestrator 或自定义位置。如此一来,您便可与其他合作开发者轻松共享新定义的活动。

备注:

Windows 项目和跨平台项目不支持 SOAP Web 服务。您只能在 Windows - Legacy 项目中使用此集成。

添加服务

按照下方的步骤,从网页服务生成活动:

  1. 在 Studio 中创建库,如“关于库”页面所述。

  2. 在“设计”选项卡中,单击“新建服务”或右键单击“项目”面板中的“服务”,然后单击“新建服务”。系统随即会显示“服务编辑器”窗口。

    docs image

  3. 向 Swagger 或 WSDL 资源添加文件路径或链接,然后单击“加载”。网页服务中定义的所有端点现已加载到“服务编辑器”窗口中。

    docs image

  4. 在“搜索操作”搜索框中键入您需要的方法或操作,再查看下方的结果。对于 Swagger,各个端点中的方法将使用不同的颜色来标记。使用“取消全选”复选框来取消选择所有端点,然后选择您要加载的端点。命名空间会自动生成,键入新名称即可更改。

  5. 单击“保存”。该服务现已集成到项目树中。

    docs image

  6. 若要在“设计器”面板中使用生成的活动,请前往“活动”面板,在“可用”活动部分中根据服务命名空间搜索,然后将各个活动拖入面板中。

    备注:

    对于 SOAP 服务,建议仅加载 SOAP 客户端,而不是 HttpGetHttpPost 客户端。 对于 Swagger 服务,当服务无法反序列化服务器的响应时,建议检查 Swagger 方案并在模型定义中搜索所需的属性。

若要编辑服务,只需在“项目”面板的“服务”下右击所需的服务,再选择“编辑服务”。

请注意,如果您的项目受到来源控件的管理,则只需签出库的 project.json 文件即可为已加载 SOAP 或 REST 网页服务的 .xaml 文件启用“编辑服务”选项。

添加和编辑服务后,含有库定义的 project.json 文件以及服务文档中也会有相应体现。project.json 文件中会添加 webServices 节点,各项服务通过以下元素来标识:

docs image

参数描述
namespace“服务编辑器”窗口中提供的服务名称。
serviceDocument含有 SOAP 或 Swagger 服务元数据的 .json 文件的路径。该文件在修复服务时使用,并且应作为项目的一部分进行版本控制。
webDocumentUriSwagger 或 SOAP 资源的文件路径或链接(在“服务编辑器”窗口中创建服务时提供)。
uniqueReference服务版本控制需要的参考。

修复服务

从 SOAP 或 REST 网页服务生成的 dll 文件不会推送到来源控件存储库。因此,在签出含有服务的库时,其项目会在“设计器”面板中包含未解决的活动。

若要修复这些活动并重新生成服务 .dll 文件,可在“项目”面板中右击相应服务节点,再从上下文菜单中选择“修复服务”。

docs image

SOAP 或 REST 服务元数据及其他信息存储在 Studio 中加载的各项服务的 .json 文件中。如果加载的服务缺少相关的 .json 文件,您可以通过“服务”节点的“修复服务”上下文菜单选项,利用创建服务时提供的网页文档描述符的链接生成所缺失的 .json 文件。因此,不再应用服务最初生成时可能应用的筛选器,并且导入通过前述路径或链接提供的所有资源。

使用 UiPath.Studio.CommandLine.exe 命令行用户界面(见“批量更新命令行参数”页面中的详细说明)发布库时不将网页服务纳入考虑范围。

备注:

从“SOAP”或“REST”服务生成的活动无法在 Studio 中本地化。

要在一个循环中多次调用从网页服务生成的活动,请从主库文件创建单独的工作流,然后在其中调用服务方法。在主工作流中,使用“For Each”活动中的“调用工作流文件”活动,并调用先前创建的工作流。

有关从网页服务生成的活动的更多详细信息,请参阅从网页服务生成的活动

导入命名空间

由于使用导入式 Swagger 服务,Studio v2020.4 在库方面发生了显著变化。在 Swagger 服务中,Studio 解读.json 文件的方式已经改变。因此,当且仅当从“编辑服务”窗口编辑现有服务时,才会产生向后兼容性问题。

在下方例子中,我们将使用 Petstore 演示示例网页服务说明相关变化。

在 Studio v2020.4 之前的版本中将服务添加到库项目中后,可以使用“浏览类型…”上下文菜单在 SwaggerPetstore 程序集名称下可以找到下列命名空间:

docs image

进一步探索 UiPath.WebClient._ClientNamespace,您将可以找到以下类型:

docs image

因此,如果在 Studio 库的 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 导入相同的网页服务时,可以找到以下命名空间:

docs image

展开 UiPath.WebClient.PetClientNamespace 时会发现以下类型:

docs image

因此,如果在用 v2020.4 创建的 Studio 库的 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="https://docs.uipath.com/zh-CN/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="https://docs.uipath.com/zh-CN/uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
        <uwp:PetClientAddPetRequest Body="{x:Null}" />
      </uwp:AddPetActivity.Request>
    </uwp:AddPetActivity>
  </Sequence>
</Activity>

Postman 集合

Postman 应用程序可用于创建 API 定义并将其分组到集合中,从而将请求组织和链接在一起。 Postman 支持在 API 请求之间传递数据的脚本。 选中 Postman 在线文档,了解有关创建集合的信息。

如果您已有 Postman 集合,则可以将其请求加载到 Studio 中并生成活动。集合的维护是在 Postman 中完成,所有更改也会在您的工作流中进行。

Studio 通过 API 密钥接收对 Postman 集合的访问权限,该密钥必须添加到“服务编辑器”窗口的“文件”或“链接”字段。 API 密钥是从 Postman 配置文件设置 > API 密钥页面生成的帐户范围密钥,而不是通过共享集合生成的 API 密钥。 因此,仅在 Postman 中完成对请求的修改,而无法在 Studio 中完成。

Studio 会加载集合中定义的所有请求,并且无法单独执行请求。在 Studio 中编辑和修复集合的方式与 SOAP 或 REST 网页服务相同。

备注:

仅支持通过 API 密钥访问集合。 加载 JSON 架构文件可能会导致意外错误。

Postman 集合先决条件

建议在安装 Newman 后重新启动计算机。

Postman 集合示例

以下示例使用 Postman 集合来get特定货币的值,并将其显示在 Studio 的“输出”面板中。

在此示例中,我们编写了测试脚本,以迭代接收到的数据。 我们直接在脚本中声明了全局变量,但也可以使用 Postman 中的“设置全局变量”代码片段来完成,请在此处阅读有关此内容的更多信息。

docs image

In 参数将货币 EUR 值传递给了 Out 参数,其中 In 参数在库中的“属性”面板 >“输入”>“集合”中可见。在同一面板的“输出”部分中,则可以看到 Out 参数。

docs image

活动中的输出参数映射到变量后,其值将写入“输出”面板。

您可以使用 If 活动来验证变量的返回值。 在此示例中,我们验证了是否返回值,然后将其写入“输出”面板。

  • SOAP 和 REST 网页服务
  • 添加服务
  • 导入命名空间
  • Postman 集合
  • Postman 集合先决条件
  • Postman 集合示例

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo
信任与安全
© 2005-2026 UiPath。保留所有权利。