studio
2021.10
false
UiPath logo, featuring letters U and I in white
Sin asistencia

Guía de usuario de Studio

Última actualización 18 de nov. de 2024

Cargar servicios web en Bibliotecas

Studio puede generar actividades directamente desde los servicios web SOAP o REST, o colecciones Postman a través de la ventana Editor de servicio.

Servicios web SOAP y REST

La ventana te permite cargar automáticamente todos los métodos o puntos de conexión en un servicio web determinado, ya sea REST o SOAP, siempre que el enlace proporcionado incluya la definición de los servicios: Swagger o WSDL.

Una vez cargado, se selecciona desde qué puntos finales o métodos crear automáticamente las actividades. Todos los elementos seleccionados se muestran en el panel Actividades, en el Espacio de nombres que proporcionaste en la ventana Editor de servicio.

Seguidamente, estas bibliotecas se pueden empaquetar como un archivo .nupkg y publicarlas en Orchestrator o en una ubicación local. En consecuencia, puedes compartir fácilmente la actividad que acabas de definir con otros desarrolladores colaboradores.

Añadir servicios

Sigue estos pasos para generar actividades desde servicios web:

  1. Crea una biblioteca en Studio, tal y como se explica en la página Información sobre bibliotecas.
  2. En la pestaña Diseño, haz clic en Servicio nuevo o haz clic derecho en Servicios en el panel Proyecto y, seguidamente, haz clic en Servicio nuevo. Se muestra la ventana Editor de servicio.


  3. Añade una ruta de archivo o enlace al recurso Swagger o WSDL. Haz clic en Cargar. Todos los puntos de conexión definidos desde el servicio web se cargan ahora en la ventana Editor de servicio.


  4. Escribe el método o la operación que necesitas en el cuadro de búsqueda Operaciones de búsqueda y consulta los resultados a continuación. Los métodos Swagger están marcados con distintos colores en cada punto de conexión. Utiliza la casilla de verificación Anular la selección de todo para anular la selección de todos los puntos de conexión y elige los puntos de conexión que deseas cargar. El espacio de nombres se genera automáticamente, solo tienes que escribir un nombre nuevo para cambiarlo.
  5. Haz clic en Guardar. El servicio ya está integrado en el árbol del proyecto.


  6. Para usar las actividades generadas en el panel Diseñador, accede al panel Actividades, busca por el espacio de nombres del servicio en la sección de actividades Disponibles y arrastra cada actividad hasta el panel.
    Nota:
    Para servicios SOAP, se recomienda cargar solo clientes SOAP, por oposición a clientes HttpGet o HttpPost.

    Para servicios Swagger, cuando el servicio no pueda deserializar la respuesta del servidor, se recomienda inspeccionar el esquema Swagger y buscar las propiedades requeridas en las definiciones modelo.

Para editar un servicio, haz clic en el servicio en el panel Proyecto, en Servicios y selecciona Editar servicio.

Ten en cuenta que si tu proyecto se encuentra bajo control de origen, al extraer solo el archivo project.json de la biblioteca se habilita la opción Editar servicios para archivos .xaml con servicios web SOAP o REST cargados.
Añadir y editar un servicio también se refleja en el archivo project.json que contiene la definición de la biblioteca, y en el documento de servicio. Un nodo webServices se añade al archivo project.json, y cada servicio se identifica por los siguientes elementos:


Parámetro

Descripción

namespace

El nombre del servicio proporcionado en la ventana Editor de servicio.

serviceDocument

La ruta al archivo .json que contiene los metadatos para el servicio SOAP o Swagger. El archivo se usa cuando el servicio se repara y debe versionarse como parte del proyecto.

webDocumentUri

La ruta del archivo o el enlace al recurso Swagger o SOAP (proporcionado cuando se crea el servicio en la ventana Editor de servicio).

uniqueReference

Una referencia necesaria para versionar el servicio.

Reparar servicios

Los archivos dll generados a partir de servicios web SOAP o REST no pasan a repositorios de control de origen. Por tanto, cuando desprotegemos bibliotecas que contienen servicios, los proyectos tienen actividades no resueltas en el panel Diseñador.
Para reparar esas actividades y regenerar el archivo .dll de servicio, haz clic derecho en el nodo del servicio en el panel Proyecto y selecciona Reparar servicio del menú contextual.


Los metadatos de los servicios SOAP o REST e información adicional se almacenan en un archivo .json para cada servicio cargado en Studio. Si a un servicio cargado le falta el archivo .json asociado, la opción del menú contextual Reparar servicios para el nodo Servicios te permite generar los archivos .json que faltan utilizando el enlace al descriptor del documento web que se proporcionó la crear el servicio. En consecuencia, los filtros que se podrían haber aplicado al generar el servicio por primera vez ya no se aplican y se importan todos los recursos proporcionados por la ruta o el enlace antes mencionado.
Cuando se publican bibliotecas utilizando la interfaz de usuario de línea de comandos UiPath.Studio.CommandLine.exe detallada en la página Parámetros de la línea de comandos de actualización masiva no se tienen en cuenta los servicios web.
Nota: Las actividades generadas desde servicios SOAP o REST no pueden localizarse en Studio.

Para invocar actividades generadas desde servicios web múltiples veces dentro de un bucle, crea un flujo de trabajo independiente desde el archivo de la biblioteca general, e invoca allí el método de servicio. En el flujo de trabajo principal, utiliza la actividad Invocar archivo de flujo de trabajo dentro de una actividad Para cada, e invoca el flujo de trabajo previamente creado.

Para obtener más información sobre las actividades generadas desde los servicios web, consulta Actividades generadas desde los servicios web.

Importar espacios de nombres

Studio v2020.4 conlleva un cambio importante en términos de bibliotecas con servicios Swagger importados. La forma en que Studio interpreta los archivos .json desde los servicios Swagger ha cambiado, lo que genera problemas de compatibilidad con versiones anteriores si el servicio existente se edita desde la ventana Editar servicio.

En el siguiente ejemplo, hemos ilustrado el cambio utilizando el servicio web Petstore demo.

Versiones de Studio anteriores a v2020.4. tras añadir el servicio a un proyecto de biblioteca y usar el menú contextual "Buscar tipos...", se encuentran los siguientes espacios de nombres en el nombre de ensamblado de SwaggerPetstore:



Examinando en UiPath.WebClient._ClientNamespace, pueden encontrarse los siguientes tipos:


Por tanto, si la actividad AddPet se ha usado en un archivo xaml de una biblioteca de Studio, esta habría formado parte del UiPath.WebClient._ClientNamespace. El tipo _ClientAddPetRequest se usó para generar una solicitud, como en el siguiente extracto:
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>

Usar Studio V2020.4. el siguiente espacio de nombres puede encontrarse al importar el mismo servicio web:



Los siguientes tipos se encuentran al expandir el UiPath.WebClient.PetClientNamespace:


Por tanto, si la actividad AddPet se usa en un archivo xaml de una biblioteca de Studio creada con la v2020.4, esta forma parte del UiPath.WebClient.PetClientNamespace y el tipo PetClientAddPetRequest se usa para generar una solicitud. Estos son espacios de nombres y tipos diferentes de los utilizados para bibliotecas creadas con versiones anteriores a v2020.4.

A continuación, se ofrece un extracto de una biblioteca creada con la versión 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>

Colecciones Postman

La aplicación Postman se puede usar para crear y agrupar definiciones de API en colecciones, organizando y encadenando de esta forma tus solicitudes. Postman admite scripts para transferir datos entre solicitudes de API. Consulta la documentación en línea de Postman para aprender a crear una colección.

Si ya tienes una colección Postman, puedes cargar sus solicitudes en Studio y generar una actividad. El mantenimiento de la colección se realiza en Postman, y todos los cambios se aplican también a tu flujo de trabajo.

Studio recibe acceso a una colección Postman a través de una clave API, que debe añadirse a la ventana Editor de servicio, en el campo Archivo o enlace. La clave API es una clave para toda la cuenta, generada a partir de la página Configuración del perfil de Postman > Claves API y no una clave API generada compartiendo una colección. Por lo tanto, las modificaciones de solicitudes solo se realizan en Postman y no también en Studio.

Studio carga todas las solicitudes definidas en la colección y las solicitudes no se pueden ejecutar individualmente. La edición y la reparación de una colección en Studio se llevan a cabo de la misma forma para servicios web SOAP y REST.
Nota: El acceso a la colección solo es compatible con la clave API. Cargar un archivo de esquema JSON puede causar errores inesperados.

Requisitos previos para colecciones Postman

Se recomienda reiniciar tu equipo tras la instalación de Newman.

Ejemplo con una colección Postman

El siguiente ejemplo utiliza una colección Postman para get el valor de una moneda determinada y lo muestra en el panel Salida de Studio.

En este ejemplo, escribimos un script de prueba para iterar los datos recibidos. Declaramos una variable global directamente en el script, pero esto también se puede hacer con el fragmento Establecer una variable global en Postman, consulta más información sobre este asunto aquí.



El argumento Dentro transfirió el valor EUR de moneda a un argumento Fuera visible en la biblioteca, en el panel Propiedades > Entrada > Colección. El argumento Fuera es visible en el mismo panel, en la sección Salida.


Los argumentos Fuera de las actividades se asignan a una variable y su valor se escribe en el panel Salida.

Puedes utilizar una actividad Si para validar el valor devuelto de la variable. En este ejemplo, validamos que se devuelva el valor y luego lo escribimos en el panel Salida.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White