Ejecutar el ejemplo Sistema principal de servicio web

Cuando se ejecuta el ejemplo Sistema principal de servicio web, el intermediario recibe un mensaje SOAP/XML través del protocolo HTTP y devuelve un mensaje de respuesta SOAP/XML utilizando de nuevo HTTP. Por lo tanto, el intermediario actúa como sistema principal de servicio web.

El intermediario toma datos de dicho mensaje SOAP y genera un nuevo mensaje correlacionado como un archivo de cabecera C. Éste se envía a una aplicación heredada utilizando WebSphere MQ. La aplicación heredada responde y los datos de su respuesta se transfieren a la respuesta de HTTP que genera el intermediario. Por lo tanto, la aplicación heredada ha tratado la aplicación heredada como un servicio web.

Para ejecutar el ejemplo Sistema principal de servicio web:

  1. Despliegue el archivo WSHOST.bar para el intermediario. Este archivo se encuentra en el proyecto de flujo de mensajes WSHOST_MFP1.
  2. Inicie la aplicación heredada.

    La aplicación heredada está escrita en C y se inicia con dos parámetros de entrada : un nombre de gestor de colas y un nombre de cola de WebSphere MQ. La aplicación lee mensajes de la cola y el gestor de colas y envía respuestas a la cola y al gestor de colas especificados en la información de respuesta del mensaje de entrada.

    Se facilitan dos versiones ejecutables de la aplicación heredada:

    El ejemplo se ha configurado para ejecutar la aplicación heredada utilizando el mismo gestor de colas WebSphere MQ que el intermediario. Si el intermediario ha de utilizar un gestor de colas distinto para la aplicación heredada, deberá configurar los gestores de colas WebSphere MQ (intermediario y aplicación heredada) para la intercomunicación.

    También deberá cambiar MQOutput por el nodo heredado en el flujo de mensajes WSHOST_WSHOST1. Establezca la propiedad Básica Nombre de gestor de colas en el nombre del gestor de colas de la aplicación heredada.

    Si desea ejecutar la aplicación heredada e una plataforma distinta de Windows o Linux, los archivos de origen se encuentran en el proyecto WSHOST_LEGACY. El archivo de origen C es legacyservice.c, con los archivos de cabecera legacyservice.h y legacyservice2.h. Realice la compilación con el compilador que prefiera y después ejecute la aplicación siguiendo las directrices de arriba para los parámetros de entrada.

    Los mensajes de entrada y de salida están correlacionados con esta estructura C:

    typedef struct tagIA81CONF {
       char MessageId[8];
       char OrderNumber[8];
       char ItemReference[12];
       char ItemQuantity[8];
       char CustomerNumber[12];
       char DeliveryRef[8];
       char Confirm[1];
       char filler1[3];
    } IA81CONF;
    

    Se facilita en el archivo legacyservice.h del proyecto WSHOST_LEGACY. Observe que este archivo de cabecera contiene también otras estructuras

  3. Transfiera un mensaje SOAP al URL especificado en el nodo HTTPInput. Si no tiene ningún programa de utilidad que lo haga, hay varias herramientas de software gratuito disponibles.

    Todos los mensajes de prueba utilizados para la ejecución de este ejemplo se basan en el siguiente formato:

    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope 	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:c="http://www.brokersamplewshost.ibm.com"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <soapenv:Body>
            <c:IA81CONFIN>
                <MessageId>IA81CONF</MessageId>
                <OrderNumber>ON4002</OrderNumber>
                <ItemReference>IY4003</ItemReference>
                <ItemQuantity>4</ItemQuantity>
                <CustomerNumber>CY4004</CustomerNumber>
            </c:IA81CONFIN>
        </soapenv:Body>
    </soapenv:Envelope>

Descripción de los resultados

El ejemplo Sistema principal de servicio web invoca una aplicación heredada con un mensaje llamado msg_tagIA81CONF. En ese mensaje, un campo llamado DeliveryRef se establece en blanco en la entrada y se establece en JOHNCORP en la salida. Del mismo modo, un campo llamado Confirm se establece en blanco en la entrada y, en la salida, se establece en Y o N, dependiendo de si el campo de entrada ItemReference contiene el carácter Y.

Si utiliza Nettool, el panel de la derecha contendrá la respuesta HTTP.

El mensaje de respuesta del mensaje de entrada de arriba es el siguiente:

<?xml version="1.0"?>
<tns:Envelope xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:NS1="http://www.brokersamplewshost.ibm.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tns:Body>
        <NS1:IA81CONFOUT>
            <MessageId>IA81CONF</MessageId>
            <OrderNumber>ON4002</OrderNumber>
            <ItemReference>IY4003</ItemReference>
            <ItemQuantity>4</ItemQuantity>
            <CustomerNumber>CY4004</CustomerNumber>
            <DeliveryRef>JOHNCORP</DeliveryRef>
            <Confirm>Y</Confirm>
        </NS1:IA81CONFOUT>
    </tns:Body>
</tns:Envelope>

Icono de la página principal   Volver a la Página de presentación de ejemplos