Invocar servicios Web (SOAP)

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Studio Cloud -ambiente de autoría > Bizagi Studio > Asistente de Procesos > Integrar > Conector de servicios Web >

Invocar servicios Web (SOAP)

Introducción

Bizagi proporciona un Conector de servicios Web como parte de su capa de integración, lo que permite la configuración sencilla de invocaciones a servicios web externos.

 

Este conector admite tanto servicios web SOAP estándar como servicios REST.

 

Este artículo se centra en la integración con servicios web SOAP externos. Para obtener información sobre la integración con servicios REST, consulte Invocar servicios REST.

 

La siguiente imagen ilustra este concepto:

 

WSConnectorSOAP

 

El intercambio de información entre Bizagi y el sistema externo se realiza mediante mensajes XML estándar. Este enfoque hace que la integración sea independiente de las plataformas, tecnologías y lenguajes de programación utilizados para implementar el servicio.

 

note_pin

Bizagi soporta la integración con IBM WebSphere Enterprise Service Bus mediante el consumo de servicios web SOAP. Los servicios expuestos por IBM WebSphere Enterprise Service Bus deben proporcionar endpoints HTTP. Los servicios expuestos mediante endpoints JMS no son soportados.

 

Lo que necesita hacer en Bizagi

Para configurar una invocación de servicio web SOAP, complete los siguientes pasos:

1.Resolver la URL del Servicio Web.

2.Definir parámetros de entrada.

3.Definir parámetros de salida.

4.Configurar el manejo de errores.

 

En el primer paso, seleccione si el servicio que va a invocar es un servicio web SOAP o un servicio RESTful.

 

En los pasos 2 y 3, puede elegir entre opciones de mapeo gráfico y mapeo avanzado, incluidos archivos de transformación personalizados.

 

Este artículo muestra cómo utilizar el Asistente de Interfaces con la opción de mapeo gráfico para invocar un servicio web SOAP.

 

Ejemplo

El siguiente ejemplo utiliza el proceso de Solicitud de Vacaciones, en el que un empleado envía una solicitud de vacaciones y consulta la cantidad de días de vacaciones disponibles.

 

Este proceso de ejemplo está disponible a través de las plantillas de procesos gratuitas de Bizagi en Process Xchange.

 

SOAPWebService07_VacationLeave

 

Para comenzar la configuración, vaya al Paso 6 del Asistente de Procesos, Integrar, y seleccione Definir interfaces de integración.

 

InvokingREST04_Step6_b

 

En la vista Definir interfaces de integración, seleccione la Tarea de Servicio donde se invocará el servicio web externo.

 

Observe que cuando un proceso se abre desde el paso Integrar, solo las tareas automáticas (Tareas de Servicio) están habilitadas para configuración.

 

En el siguiente ejemplo, la tarea seleccionada es Verificar días de vacaciones disponibles. Durante esta actividad, Bizagi recupera los días de vacaciones disponibles del empleado desde un sistema externo.

 

SOAPWebService01_VerifyVacationDays

 

Cuando selecciona la Tarea de Servicio, se abre el Asistente de Interfaces y muestra los pasos necesarios para configurar la invocación.

 

Resolver la URL del Servicio Web

En este paso, seleccione SOAP como el Tipo de Servicio.

 

Ingrese la URL del servicio web y haga clic en Ir.

 

En este ejemplo, se utiliza la siguiente URL:

http://www.bizagi.com/ESB/ESBServices.asmx?wsdl

 

Bizagi lee el WSDL y recupera los métodos web disponibles para el servicio. (3)

 

A continuación, seleccione el puerto del servicio que desea utilizar, normalmente el puerto SOAP 1.2 si el servicio lo soporta.

 

SOAPWebService02b_ServicePort

 

Los puertos mostrados en la lista corresponden a los definidos por el servicio web. (4)

 

SOAPWebService02c_WSDLports

 

Seleccione el método web que desea invocar y proporcione un nombre para la configuración de la interfaz.

 

SOAPWebService02_ResolveURL

 

Haga clic en Siguiente.

 

Definir parámetros de entrada

En el paso Datos a enviar, el asistente muestra:

•El modelo de datos del proceso a la izquierda.

•La estructura esperada por el método web seleccionado a la derecha.

 

La información de entidades Runtime también está disponible para el mapeo cuando se utiliza mapeo simple. El mapeo avanzado no soporta entidades Runtime.

 

Para cada parámetro de entrada requerido por el servicio, el asistente permite mapear información desde el modelo de datos del proceso mediante expresiones XPath.

 

Este mapeo define qué datos de negocio envía Bizagi al servicio externo.

 

En este ejemplo, el userName del Solicitante se mapea al parámetro userName correspondiente esperado por el servicio web.

 

SOAPWebService03_Input

 

Como alternativa, puede utilizar información de entidades Runtime. En el siguiente ejemplo, se mapea el atributo fullName.

 

Observe que las entidades Runtime se muestran en el mismo nivel jerárquico que la entidad Proceso.

 

SOAPInputsRuntime

 

Haga clic en Siguiente. (5,6)

 

Definir parámetros de salida

En el paso Datos de respuesta, configure el mapeo para los datos devueltos por el servicio web de forma similar.

 

Con esta configuración, Bizagi almacena automáticamente la respuesta en el modelo de datos del proceso.

 

En este ejemplo, el valor devuelto por el servicio, que representa la cantidad de días de vacaciones disponibles, se mapea al atributo NumberOfDaysAvailable.

 

SOAPWebService05_Output

 

Haga clic en Siguiente. (5,6)

 

note_pin

Si uno o más valores de salida corresponden al identificador de una entidad Paramétrica, configure la Llave de Negocio adecuada para que Bizagi pueda cargar la referencia completa de la entidad. Para obtener más información, consulte Llaves de Negocio.

 

Configurar el manejo de errores

Bizagi proporciona opciones para configurar el manejo de errores de negocio.

 

Esta funcionalidad es especialmente útil en los siguientes escenarios:

•El servicio devuelve un error de negocio en el XML de respuesta, como "Customer ID does not exist".

•El proceso debe seguir una ruta diferente del flujo de trabajo cuando ocurre un error.

 

Para utilizar el manejo de errores, defina el mensaje de error que debe generarse para cada posible escenario de invocación.

 

Para realizar bifurcaciones del flujo de trabajo basadas en errores, la Tarea de Servicio seleccionada debe incluir un Evento de Error adjunto.

 

En este ejemplo, no se configura ningún manejo de errores personalizado.

 

Para obtener más información, consulte Manejo de errores en interfaces.

 

SOAPWebService06_Error

 

Haga clic en Finalizar.

 

En este punto, la Tarea de Servicio Verificar días de vacaciones disponibles ha sido configurada para invocar un servicio web SOAP externo.

 

Cuando hace clic en Finalizar, Bizagi crea o actualiza automáticamente la interfaz en el módulo Sistemas Externos (vista Experto) de su proyecto. Esto le permite revisar y modificar la configuración de la interfaz, incluidas las opciones de autenticación, directamente desde el módulo.

 

Consideraciones

1.Cambios en el servicio web

Bizagi conserva la configuración de la invocación y de los mapeos incluso si el método web seleccionado cambia posteriormente.

 

Sin embargo, si la definición del servicio web externo cambia e introduce parámetros modificados o adicionales, revise la configuración de la interfaz y actualice los mapeos según sea necesario.

 

También puede administrar diferentes configuraciones para los ambientes de Pruebas y Producción si los endpoints del servicio externo cambian con el tiempo.

 

2.Opciones alternativas de integración

Si un servicio web no puede configurarse mediante el Conector de servicios Web utilizando mapeo gráfico, puede utilizar una de las siguientes alternativas:

•Invocar el servicio web mediante una regla de negocio utilizando métodos proporcionados por la clase XML Helper de Bizagi. Para obtener más información, consulte Métodos para interfaces.

•Desarrollar un componente personalizado como una librería de clases y registrarlo mediante la funcionalidad Librería de componentes.

 

3.Recomendaciones para URL de servicios web SOAP

Para lograr una mejor interoperabilidad, las URL de los servicios web SOAP deben:

•Terminar con ?wsdl (por ejemplo, http://www.bizagi.com/ESB/ESBServices.asmx?wsdl).

•No contener espacios en blanco al final.

•Utilizar siempre una URL HTTP o HTTPS.

•No hacer referencia a un archivo WSDL físico local.

 

Estas recomendaciones ayudan a garantizar la compatibilidad, especialmente con servicios desarrollados utilizando tecnologías distintas de .NET.

 

4.Selección del puerto del servicio

El puerto de servicio seleccionado determina el framework utilizado por el conector.

 

Por ejemplo, cuando se selecciona un puerto SOAP 1.2 en un ambiente .NET, el Conector de servicios Web utiliza svcutil.exe en lugar de wsdl.exe.

 

Bizagi recomienda automáticamente el puerto más apropiado siempre que existan consideraciones de compatibilidad.

 

5.Funcionalidades avanzadas de mapeo gráfico

Al trabajar con mapeos de salida, puede maximizar la ventana de mapeo para acceder a funcionalidades adicionales de mapeo y transformación.

 

Puede utilizar las funcionalidades y funciones especiales de mapeo disponibles para manipular parámetros de salida mediante una vista gráfica al maximizar esta ventana.

 

WS_Maximize

 

Para obtener más información, consulte Características y funciones de mapeo.

 

6.Transformaciones XSLT

Al mapear salidas de servicios web, puede incluir un archivo de transformación XML (XSLT) personalizado.

 

Para hacerlo, utilice la opción Mapeo avanzado disponible mediante el icono correspondiente:

 

SOAPWebService03_InputAdvanced

 

7.Exportar mapeos

Como práctica recomendada, si su servicio web requiere configuraciones extensas de mapeo, exporte y guarde dichos mapeos para reutilizarlos en el futuro.

 

MappingFunctions10_ExportMapping1


Last Updated 8/27/2026 3:24:45 PM