Puede utilizar el asistente de Nuevo archivo de definición de mensajes en el
WebSphere Message Broker Toolkit para crear una definición de mensajes a partir de un archivo IDL.
Antes de empezar:Realice las siguientes tareas:
- Conjuntos de mensajes: crear un conjunto de mensajes
- Importación de archivos desde el sistema de archivos a WebSphere Message Broker Toolkit
- Asegúrese de que tiene un archivo IDL válido. Si selecciona un archivo IDL que no es válido, verá un mensaje de error y no podrá completar el asistente.
Al importar un archivo IDL, se listan operaciones soportadas y no soportadas.
Puede importar un archivo IDL que contenga operaciones con tipos no soportados
por WebSphere Message Broker,
pero si intenta llamar a una operación no soportada, verá un mensaje de error.
El archivo IDL de CORBA
debe contener como mínimo una interfaz que tenga una operación.
Para obtener más información sobre las operaciones de IDL que están soportadas, consulte Soporte CORBA.
- Para obtener más información acerca de la correspondencia de los tipos IDL con
los tipos de esquema XML, consulte Tipos de datos IDL.
Los siguientes pasos describen cómo utilizar
un archivo IDL para crear un archivo de definición de mensaje o sobrescribir el
contenido de un archivo existente.
- Pulse con el botón derecho del ratón en el conjunto de mensajes y
seleccione para abrir el asistente
Nuevo archivo de definición de mensaje.
- Complete el asistente siguiendo las instrucciones de la pantalla.
- Seleccione un archivo IDL de la lista de archivos del espacio
de trabajo o utilice Examinar para buscar
un archivo fuera del espacio de trabajo. Si ha importado un archivo IDL que contiene inclusiones, seleccione
el archivo IDL de nivel superior.
- Asegúrese de que el recuadro de selección para añadir un dominio DataObject
al conjunto de mensajes esté seleccionado. De forma predeterminada, este recuadro de selección está marcado.
- Opcional: puede proporcionar un espacio de nombres de destino.
- DE forma predeterminada, el nombre del archivo de definición de mensaje es el mismo
que el nombre del archivo IDL. Puede cambiar el nombre del archivo de definición
de mensajes.
- Si el archivo de definición de mensajes o el archivo IDL existe, pulse
Siguiente.
Para renombrar o sobrescribir los archivos existentes, selecciónelos.
- Pulse Finalizar.
- Una vez que haya importado el archivo IDL, compruebe si hay algún error.
- Compruebe si hay errores en el informe que se ha creado al importar el
archivo. Puede encontrar este informe en el directorio log
del proyecto que contiene la nueva definición de mensaje. El informe se
denomina <nombre-archivo-idl>.idl.report.txt, donde
<nombre-archivo-idl> es el nombre del archivo IDL
que está importando.
- Compruebe si hay algún error en la lista de tareas del WebSphere Message Broker Toolkit.
Cuando haya terminado de importar el archivo IDL,
se abrirá la definición del mensaje. En la carpeta IDL de
CORBA se almacena una copia de sólo lectura del archivo IDL.
Para cada archivo IDL, se crea una única definición de mensaje. (Si ha
importado un archivo IDL que contiene inclusiones, todos los elementos y
tipos de los archivos IDL se generan en una única definición de mensaje.) En la definición de
mensaje, se crean dos mensajes para cada operación del archivo IDL
(un mensaje para la solicitud y uno para la respuesta) y se crea un mensaje para cada excepción definida por el usuario. La solicitud tiene un
elemento hijo para cada parámetro in e inout; la respuesta tiene un elemento
hijo para cada parámetro inout y out, y un elemento hijo denominado “_return”
para el tipo de retorno de la operación.
El nombre de estos elementos se
basa en el nombre de interfaz y el nombre de operación; por ejemplo, para la
operación sayHello de la interfaz Hello,
el elemento de solicitud se llama Hello.sayHello, y el
elemento de respuesta se llama Hello.sayHelloResponse.
Si la interfaz está contenida en un módulo, los nombres de elemento de solicitud y respuesta se cualifican con los nombres de los módulos. Por ejemplo,
si la operación sayHello en la interfaz Hello está
contenida en ModuleB, que a su vez está contenido
en ModuleA, el elemento de respuesta se llamaría ModuleA.ModuleB.Hello.sayHelloResponse.
Otra definición de mensaje se crea con un mensaje para cada excepción del sistema
CORBA.
Siguiente: Desarrolle un flujo de mensajes,
como se describe en Desarrollo de un flujo de mensajes con un nodo CORBARequest.