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

Creación de un mensaje para el nodo CORBARequest

Puede utilizar un mensaje XML para el nodo CORBARequest o crear un mensaje utilizando otro nodo de flujo de mensajes.

Antes de empezar:

Asegúrese de que ha creado y configurado un flujo de mensajes con un nodo CORBARequest, como se describe en Desarrollo de un flujo de mensajes con un nodo CORBARequest.

El nodo CORBARequest requiere un mensaje de entrada. El nodo puede utilizar un mensaje XML de otro nodo, o puede crear un mensaje utilizando un nodo Compute, JavaCompute o PHPCompute. Si el mensaje entrante tiene un modelo de mensaje, puede utilizar un nodo Mapping para crear el mensaje que desea enviar al nodo CORBARequest. El árbol de mensajes entrantes debe estar en el dominio DataObject, y los elementos del árbol deben coincidir con la interfaz IDL que está llamando. La representación física de un mensaje en el dominio DataObject es XML; por consiguiente, la aplicación crea cuerpos de mensaje como los de los siguientes ejemplos.

Puede especificar la ubicación en el árbol de mensajes entrantes del que se recuperan datos para formar la solicitud que envía el nodo CORBARequest. Especifique esta ubicación utilizando la propiedad Ubicación de datos del separador Solicitud. El valor válido es $Body.

  1. Determine dónde deben encontrarse los datos en el cuerpo del mensaje para enviarlos al nodo CORBARequest.
  2. Especifique el elemento de nivel superior (interface.operationName) para el mensaje que debe enviar al nodo CORBARequest.
  3. Especifique un hijo para cada parámetro in e inout. No es necesario que pase un valor para los parámetros de salida.

El siguiente ejemplo muestra el XML y ESQL que podría recibir un flujo de mensajes.

Combinación de parámetros in, inout y out

A continuación se muestra un archivo IDL de ejemplo:
interface 

ExampleOne {
	enum completion{YES, NO, MAYBE};
 	typedef sequence<string> stringlist;
	struct stringobject {string member;};

	string exampleOneOperation(in string inparamA, inout string inoutparamA, out string outparamA);
	completion exampleOneOperationB(in stringlist inparamB, inout stringobject inoutparamB, out completion outparamB);
}
Este archivo IDL contiene una interfaz con dos operaciones, que tienen un parámetro in, un parámetro inout y un parámetro out.

Para la primera operación, exampleOneOperationA, debe pasar los parámetros inparamA y inoutparamA bajo el tipo de nivel superior ExampleOne.exampleOneOperationA. No es necesario que pase el parámetro outparamA.

A continuación se muestra un ejemplo de XML:
<ExampleOne.exampleOneOperationA>
	<inparamA>your value</inparamA>
	<inoutparamA>your value</inoutparamA>
</ExampleOne.exampleOneOperationA>
A continuación se muestra un ejemplo de ESQL:
SET
OutputRoot.DataObject."ExampleOne.exampleOneOperationA".inparamA = 'yourvalue';

SET
OutputRoot.DataObject."ExampleOne.exampleOneOperationA".inoutparamA = 'yourvalue'; 
Para la segunda operación, exampleOneOperationB, debe pasar los parámetros inparamB e inoutparamB bajo el tipo de nivel superior ExampleOne.exampleOneOperationB. No es necesario que pase el parámetro outparamB.
A continuación se muestra un ejemplo de XML:
<ExampleOne.exampleOneOperationB>
	<inparamB><item>your value</item></inparamB>
	<inoutparamB><member>your value</member></inoutparamB>
</ExampleOne.exampleOneOperationB>
A continuación se muestra un ejemplo de ESQL:
SET
OutputRoot.DataObject."ExampleOne.exampleOneOperationB".inparamB.item = 'your value';

SET
OutputRoot.DataObject."ExampleOne.exampleOneOperationB".inoutparamB.member = 'your value'

Parámetros in e inout únicamente

A continuación se muestra un archivo IDL de ejemplo:
interface 

ExampleTwo {
	enum completion{YES, NO, MAYBE};
	typedef sequence<string> stringlist;
	struct stringobject {string member;};

	string exampleTwoOperationA(in string inparamA, inout string inoutparamA);
	completion exampleTwoOperationB(in stringlist inparamB, inout stringobject inoutparamB);

}
Este archivo IDL contiene dos operaciones sólo con un parámetro in e inout. La eliminación del parámetro out y la existencia de los parámetros in e inout únicamente no cambia los parámetros que se deben pasar.

Para llamar a la primera operación, exampleTwoOperationA, pase los parámetros inparamA e inoutparamA bajo el tipo de nivel superior ExampleTwo.exampleTwoOperationA.

A continuación se muestra un ejemplo de XML:
<ExampleTwo.exampleTwoOperationA> 
	<inparamA>your value</inparamA>
	<inoutparamA>your value</inoutparamA>
</ExampleTwo.exampleTwoOperationA>
A continuación se muestra un ejemplo de ESQL:
SET
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationA".inparamA = 'yourvalue';

SET
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationA".inoutparamA = 'yourvalue'; 
Para llamar a la segunda operación, exampleTwoOperationB, pase los parámetros inparamB e inoutparamB bajo el tipo de nivel superior ExampleTwo.exampleTwoOperationB.
A continuación se muestra un ejemplo de XML:
<ExampleTwo.exampleTwoOperationB>
	<inparamB><item>your value</item></inparamB>
	<inoutparamB><member>your value</member></inoutparamB>
</ExampleTwo.exampleTwoOperationB>
A continuación se muestra un ejemplo de ESQL:
SET
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationB".inparamB.item = 'your value';

SET
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationB".inoutparamB.member = 'your value';

Ningún parámetro o sólo parámetros out

Si la operación no contiene ningún parámetro, o sólo contiene parámetros out, no es necesario que especifique nada en el cuerpo del mensaje. El nodo CORBARequest no busca en el mensaje entrante.

Siguiente: procese las respuestas de CORBARequest, como se describe en Proceso de respuestas de un nodo CORBARequest.
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 17:00:50


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