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

Parámetros de operación de CORBA

Las operaciones CORBA pueden tener parámetros que el servidor puede modificar.

Las operaciones CORBA pueden tener parámetros in, out e inout. Los parámetros in e inout dictan el aspecto del árbol bajo el dominio DataObject cuando se va a un nodo CORBARequest. En el tipo de retorno, los parámetros inout y out dictan el aspecto del árbol cuando se deja un nodo CORBARequest.

El mensaje de entrada se encuentra en el elemento interfaceName.operationName y necesita un elemento para cada parámetro in o inout. Si la interfaz está contenida en un módulo, el nombre se califica con el nombre del módulo. Si el módulo está anidado en otros módulos, se indican todos los nombres de módulo; por ejemplo: moduleNameA.moduleNameB.interfaceName.operationName. Los parámetros out no son necesarios porque el cliente no envía ningún valor para estos parámetros. Estos elementos deben estar en el mismo orden que los parámetros del archivo IDL.

El mensaje de salida del nodo CORBARequest se encuentra en el elemento interfaceName.operationNameResponse. Si la interfaz está contenida en un módulo, el nombre se califica con el nombre del módulo. El mensaje de salida tiene un elemento para el tipo de retorno, denominado _return, y un elemento para cada parámetro inout y out.

A continuación se muestra un archivo IDL de ejemplo:
interface exampleInterface {
	string outsideModuleOperation(in string one, out string two, inout string three);
	
};
El mensaje de entrada puede ser parecido al del siguiente ejemplo:
<exampleInterface.outsideModuleOperation>
	<one>something</one>
	<three>something</three>
</exampleInterface.outsideModuleOperation>
El mensaje de salida puede ser parecido al del siguiente ejemplo:
<exampleInterface.outsideModuleOperationResponse>
	<_return>something</_return>
	<two>something</two>
	<three>something</three>
</exampleInterface.outsideModuleOperationResponse>
El mensaje de entrada requiere todos los parámetros in e inout, por lo que one y three se especifican. La salida tiene estos elementos:

Excepciones definidas por el usuario

Las excepciones se propagan al terminal de error bajo el dominio DataObject; la estructura del mensaje depende de la excepción.

El siguiente ejemplo muestra cómo se define una excepción definida por el usuario en un archivo IDL.
exception BadRecord {
    string why;    
  };


  interface SomeInterface {
    long bar(in float pi) raises (BadRecord);
  };
La operación bar puede emitir la excepción BadRecord. Si se emite esta excepción, el siguiente mensaje se propaga al terminal de error.
<BadRecord>
	<why>texto del motivo</why>
</BadRecord>

Casos límite

Existen dos casos límite identificados para leer un árbol y producir un árbol:
  • No existe ningún parámetro de entrada.
  • Una función vacía no tiene parámetros inout ni out.
El siguiente archivo IDL de ejemplo ilustra dos ejemplos.
interface exampleInterface {
	string exampleOne();
void exampleTwo(in string one);	
};
  • Ejemplo 1: no existe ningún parámetro input

    Mensaje de entrada: ç el mensaje de entrada es irrelevante, porque el nodo CORBARequest no busca el cuerpo del mensaje.

    Mensaje de salida:
    <exampleInterface.exampleOneResponse>
    	<_return>something</_return>
    </exampleInterface.exampleOneResponse>
  • Ejemplo 2: una función vacía no tiene parámetros inout ni out
    Mensaje de entrada:
    <exampleInterface.exampleTwo>
    	<one>something</one>
    </exampleInterface.exampleTwo>
    Mensaje de salida :
    <exampleInterface.exampleTwoResponse>
    </exampleInterface.exampleTwoResponse>
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 conceptoTema de concepto | Versión 8.0.0.5 | bc22470_