Ejemplo de IIB

IBM® Integration Bus (IIB) es una plataforma de bus de mensajes que permite el manejo de mensajes a nivel de empresa. El uso de IIB presupone que ya está familiarizado con IIB v10, tal como se documenta en la IBM Documentation.

Descargar archivos

El archivo zip IIB_IFT_authentication_library.zip es una biblioteca compartida que maneja el intercambio de comunicaciones con el servicio de autenticación de Transparent Supply .

El archivo zip IIB_IFT_submit_XML_API.zip es un ejemplo completo de extremo a extremo que incluye la biblioteca de autenticación de Transparent Supply . Es un servicio REST HTTP que acepta un mensaje XML y lo carga en la red de la solución. Esto se puede soltar en el entorno IIB existente y personalizarlo para que se ajuste a sus necesidades.

Descargue los archivos zip e impórtelos en IIB Toolkit: Archivo > Importar > Intercambio de proyectos.

Guía paso a paso de código

Puesto que IIB maneja mensajes en el formato SOAP de forma nativa, se han añadido algunos nodos a los flujos para dar el aspecto de una API REST. Por ejemplo, en lugar de tener subflujos encapsulados en nodos TryCatch y generar errores, las variables de entorno local se establecen y se comprueban a través de FilterNodes. Un nodo de cálculo al final del flujo de API XML de envío de Transparent Supply principal comprueba estas variables y establece una cabecera de respuesta 500 con una respuesta JSON significativa (para que coincida con el formato de una respuesta 201 satisfactoria).

Variables de entorno local:

Los flujos utilizan la siguiente estructura de variables:
  • environment-name del entorno Transparent Supply de destino (por ejemplo, PRODUCCIÓN)
  • apikey
  • orgId
  • xml-El objeto XMLNS de la serie XML pasada al flujo
  • error_message-mensaje recibido de una llamada de API
  • ubicación_error-nombre del subflujo desde donde se originó el error
  • error_message_detail-contexto completo del error de API
  • IAM_token
    • access_token
    • token_type
    • expires_in
    • caducidad
    • ámbito
  • señal_servicio
  • copia_seguridad_mensaje

Enviar XML (subflujo)

Enviar subflujo XML Captura de pantallas

Puntos destacados de flujo:

  1. Nodo de subflujo de llamada: llame al subflujo Transparent Supply_Authenticate
  2. Nodo de filtro: compruebe si el proceso de señal de Exchange ha sido satisfactorio.
  3. HTTP Nodo de solicitud: Enviar la carga útil XML a Transparent Supply con la clave de API adquirida del subflujo Transparent Supply_Authenticate

Autenticación de Transparent Supply (subflujo)

Subflujo de autenticaciónCaptura de pantallas

Puntos destacados de flujo:

  1. Nodo de cálculo Java™ : compruebe la variable de entorno local para un valor de caducidad de señal existente. Si existe uno, compruébelo con respecto a la hora actual y, si ha caducado, obtenga uno nuevo; de lo contrario, omita el flujo (se denegarán demasiadas llamadas para obtener IBM Cloud® IAM Service )
  2. Nodo de cálculo: realice una copia de seguridad del mensaje existente, ya que los nodos de solicitud HTTP lo sobrescribirán.
  3. Nodo de cálculo Java: llame al servicio IAM de IBM Cloud , solicite una señal y almacene la señal en variables de LocalEnvironment .
  4. Nodo de solicitud HTTP : Llame a la API de autenticación de Transparent Supply e intercambie la señal para una señal de servicio.
  5. Nodo de cálculo: Almacenar la señal de servicio en una variable de entorno local.
  6. Nodo de cálculo: restaure el mensaje de entrada original en el cuerpo del mensaje.

Flujo de API XML de envío de Transparent Supply

Enviar flujo de API XML Captura de pantallas

El flujo se configura para la vía de acceso HTTP : /ift_submit_xml/

Puntos destacados de flujo:
  1. Nodo de cálculo: Lea la carga útil JSON de entrada y almacene los valores en variables de entorno local. Nota: la carga útil XML se ha almacenado como una serie, por lo que este nodo convierte el nodo en un formato XMLNS adecuado y lo almacena como una variable de entorno local.
  2. Nodo de subflujo de llamada: llame al subflujo Submit_Transparent Supply_XML desde la biblioteca compartida (consulte la sección anterior para obtener más detalles).
  3. Nodo de filtro: compruebe una variable de entorno local para ver si existe un mensaje de error y direccionar según sea necesario.
  4. Nodo de cálculo: formatear la respuesta de error.

Inténtelo.

Una vez desplegado en el nodo de integración IIB, puede enviar una carga útil JSON a través del flujo. El flujo espera el formato siguiente:

Formato URL : http://<integration node>:<debug port>/ift_submit_xml/

Formato de carga útil:

Nota: Si su organización está registrada en el entorno de recinto de pruebas de Transparent Supply , puede especificar "environment": "SANDBOX",
{
    "environment":  "PRODUCTION",
    "apikey":  "...",
    "orgId": "...",
    "xml" : "<?xml version=\"1.0\" ...."
}