WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Lectura de un archivo en un directorio FTP o SFTP remoto

'Utilice un nodo FileInput para leer un archivo de un directorio de un servidor FTP o SFTP remoto y, a continuación, propagar los mensajes que se basan en el contenido de este archivo.

Antes de empezar:
Este ejemplo es una extensión del ejemplo descrito en Utilización de un archivo local como entrada del flujo de mensajes y describe cómo utilizar un nodo FileInput en un flujo de mensajes. En las siguientes instrucciones se da por supuesto que está utilizando un sistema operativo Windows y que ha creado un flujo de mensajes que contiene un nodo FileInput. También requiere los siguientes recursos:
  • Un servidor FTP o SFTP. Asegúrese de que exista un servidor FTP o SFTP con los valores siguientes:
    Servidor
    ftpserver.hursley.abc.com
    Puerto
    21 (para FTP) o 22 (para SFTP)
    Directorio de trabajo
    /ftpfileinput
    ID de usuario
    myuserid
    Contraseña
    mypassword

    Estos valores sólo sirven para este ejemplo. Si utiliza otros valores, anótelos de modo que pueda establecer los valores adecuados durante la tarea.

  • Una identidad de seguridad. Utilice el mandato mqsisetdbparms para definir una identidad de seguridad denominada myidentity para obtener los detalles de usuario y contraseña.
    Si desea conectarse a un servidor FTP, la identidad de seguridad debe tener un prefijo ftp::, para habilitar los nodos de archivo de forma que busquen la definición de la identidad. Por ejemplo, utilice el siguiente mandato para un intermediario denominado MyBroker:
        mqsisetdbparms MyBroker -n ftp::myidentity -u myuserid -p mypassword
    Si desea conectarse a un servidor SFTP, la identidad de seguridad debe tener un prefijo sftp::, tal como se muestra en el ejemplo siguiente:
        mqsisetdbparms MyBroker -n sftp::myidentity -u myuserid -p mypassword
    También puede configurar una conexión a un servidor SFTP para que utilice la autenticación de clave pública especificando un archivo de identidad SSH y una frase de paso en lugar de una contraseña. Por ejemplo:
        mqsisetdbparms MyBroker -n sftp::myidentity -u myuserid -i identity_file -r passphrase

    Para obtener más información sobre la configuración de conexiones en un servidor SFTP, consulte Transferencia segura de archivos utilizando SFTP.

  • Un archivo de entrada. Para seguir este escenario de ejemplo, cree un archivo de entrada llamado test_input1.xml con el siguiente contenido:
    <Message>test1</Message>
    <Message>testtwo</Message>
    <Message>testthree</Message>
    Cada línea finaliza con un terminador de línea adecuado para el sistema en el que reside el servidor FTP o SFTP. No coloque este archivo en el directorio de entrada sino que debe colocarlo en el directorio del servidor FTP o SFTP /ftpfileinput.
  • Un conjunto de mensajes. Este ejemplo utiliza un conjunto de mensajes llamado xml1 que utiliza el analizador XMLNSC. El conjunto de mensajes xml1 modela los mensajes de la siguiente forma:
    <Message>...</Message>

Lleve a cabo los siguientes pasos:

  1. Establezca las propiedades de nodo necesarias en el nodo FileInput. En la siguiente tabla se resumen las propiedades del nodo FileInput que debe establecer, el separador en el que se visualizan, si son obligatorias y los valores requeridos.
    Separador Propiedad Valor
    Básicas Directorio de entrada C:\FileInput\TestDir

    Si el directorio de entrada no existe, no se procesa ningún archivo, aun cuando se procesen archivos a través de FTP o SFTP.

    Nombre de archivo o patrón test_input1.xml
    Acción si el proceso es satisfactorio Mover a subdirectorio de archivado
    Sustituir archivos archivadores duplicados Seleccionado
    Análisis de mensaje de entrada Dominio de mensajes XMLNSC
    Modelo de mensaje xml1
    Sondeo Intervalo de sondeo 3
    Reintento Acción si el archivo falla Añadir indicación de fecha y hora y mover a subdirectorio de restitución
    Registros y elementos Detección de registros Delimitados
    Delimitador Fin de línea de DOS o UNIX
    Tipo de delimitador Posfijo
    FTP Transferencia remota Seleccionado
    Protocolo de transferencia FTP o SFTP
    Servidor y puerto remotos ftpserver.hursley.abc.com
    Identidad de seguridad myidentity
    Directorio de servidor /ftpfileinput
    Modalidad de transferencia ASCII (solamente para FTP)
    Retardo de exploración 45
    Si ha utilizado otros valores para el recurso del servidor FTP o SFTP, escríbalos. Los valores utilizados son idénticos a los que se han utilizado en el ejemplo de Utilización de un archivo local como entrada del flujo de mensajes, salvo que se ha seleccionado la propiedad Transferencia remota y que ahora hay propiedades en el separador FTP. Si deselecciona la propiedad Transferencia remota, el nodo funciona igual que en el ejemplo de Utilización de un archivo local como entrada del flujo de mensajes; las propiedades del separadorFTP permanecen establecidas pero se ignoran.
  2. Despliegue el flujo de mensajes en el intermediario. Consulte el apartado Empaquetado y despliegue.
Las siguientes acciones se efectúan al realizar estos pasos:
  1. El archivo test_input1.xml se transfiere del directorio del servidor FTP o SFTP (/ftpfileinput) al directorio local (C:\FileInput\TestDir). El archivo se suprime del directorio del servidor FTP o SFTP.
  2. El nodo FileInput detecta registros que terminan en un fin de línea DOS o UNIX y crea un mensaje para cada uno que encuentra, tal como definen las propiedades en el separador Registros y elementos. El nodo propaga tres mensaje al flujo de mensajes conectado al terminal Out (de salida):
    • Mensaje 1:
      <Message>test1</Message>
    • Mensaje 2:
      <Message>testtwo</Message>
    • Mensaje 3:
      <Message>testthree</Message>
  3. Si hay un nodo conectado al terminal End of Data, el mensaje End of Data (fin de datos) se propaga una vez que se ha procesado el último registro en el archivo.
  4. Cuando finaliza el proceso, el archivo test_input1.xml se mueve al subdirectorio mqsiarchive, C:\FileInput\TestDir\mqsiarchive. Si un archivo llamado test_input1.xml existe en el subdirectorio mqsiarchive, se sobrescribirá.
  5. Si el flujo de mensajes falla, el proceso de reintento se intenta según los valores establecidos en las propiedades del nodo FileInput. En esta tarea de ejemplo, se añade una indicación de fecha y hora al nombre del archivo y el archivo se mueve al directorio mqsibackout. A continuación se muestra un ejemplo de la vía de acceso a dicho archivo:C:\FileInput\TestDir\mqsibackout\20070928_150234_171021_test_input1.xml.

    Si se produce un error en el lado de FTP, indicando que se deniega el acceso, se crea un archivo de 0 bytes y se mueve al directorio mqsibackout. Se crea un archivo de 0 bytes en el directorio mqsibackout para cada intento de operación FTP que falle.

Debido a que la propiedad está seleccionada, el retardo de exploración FTP de 45 segundos altera temporalmente el intervalo de sondeo de 3 segundos.

Para más información, consulte Controlar cómo se separan los archivos en registros, que muestra los efectos de especificar otras combinaciones de valores en las propiedades Detección de registros, Delimitador y Tipo de delimitador del nodo FileInput.

En los ejemplos siguientes también se muestra cómo utilizar este nodo:

Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:58:45


Tema de tareaTema de tarea | Versión 8.0.0.5 | ac55422_