3. Consumir un servicio web SOAP
En la clase de hoy vamos a aprender a cómo consumir un servicio web SOAP mediante el componente Consume. Se utilizará este componente debido a que en la primera clase del nivel se utilizó el Connector que se importó desde Mule Palette, pero ahora nos pondremos en el escenario en el que esta API de tipo REST no está publicada en Anypoint Exchange.
Recordad que siempre será mejor utilizar un conector importado de un módulo antes que los componentes Consume o HTTP Request. Si no os quedó claro que eran los conectores os animo a visitar la primera clase del nivel, 1. Consumir un servicio web de Anypoint Exchange.
Ignorando que existe y poniéndonos en situación, vamos a consumir el servicio web SOAP como si fuese de un sistema externo.
Servicio web SOAP
Los servicios web SOAP utilizan mensajes XML para intercomunicarse, que siguen el estándar SOAP (Simple Object Access Protocol), un lenguaje XML que define la arquitectura y formato de los mensajes. Dichos sistemas normalmente contienen una descripción legible por la máquina con las operaciones ofrecidas por el servicio, escrita en WSDL (Web Services Description Language), que es un lenguaje basado en XML para definir las interfaces sintácticamente.
Os dejo un ejemplo del contenido WSDL del servicio web de tipo SOAP:
Componente Consume
Para poder consumir un servicio web SOAP es necesario utilizar el componente Consume, donde se le indicará la ubicación del WSDL. Con la localización del WSDL será capaz de obtener el resto de información, ya que viene implícita en el XML del WSDL.
En la Mule Palette podéis encontrar el componente en la siguiente sección:
Transformación del mensaje
Por último, es necesario transformar el contenido que nos devuelve la llamada a un servicio web de tipo SOAP. No es que no funcione si no se hace, pero el formato es bastante difícil de leer a simple vista, por lo que será necesario transformar el mensaje de SOAP a JSON.
Durante la clase podréis ir viendo cómo consumir el servicio web SOAP:
- Reaprovechando el Subflow de clases anteriores, donde se define la variable que contiene el atributo del queryParam de la llamada inicial.
- Llamando al Subflow mediante Flow Reference.
- Utilizando elementos globales para definir los valores de las configuraciones.
- Transformando el mensaje de SOAP a JSON y manipulando en DataWeave el resultado para que salga filtrado.
Van creciendo vuestros conocimientos y entrando más elementos en juego en los Workflows de las Mule Applications que creáis.
Sin más, vamos a consumir un servicio web SOAP ¡dentro vídeo!
Clases del curso
- 1. Consumir un servicio web de Anypoint Exchange (27:38)
- 2. Consumir un servicio web REST (24:20)
- 3. Consumir un servicio web SOAP (23:51)
- 4. Crear un modelo de datos canónico en JAVA | Parte 1 (14:19)
- 5. Crear un modelo de datos canónico en JAVA | Parte 2 (11:39)
- 6. Crear un modelo de datos canónico en JAVA | Parte 3 (12:20)
- Punto de Control 1
- 7. Diferencia entre Flow, SubFlow y Private Flow (17:27)
- 8. Pasar eventos con colas síncronas y asíncronas (19:30)
- 9. Estructurar elementos globales (9:19)
- 10. Definir propiedades globales (11:28)
- 11. Estructurar un proyecto Mule | Parte 1 (16:44)
- 12. Estructurar un proyecto Mule | Parte 2 (15:56)
- Punto de Control 2