Rational Developer for System z, Versión 7.6

Contenedor DFHWS-URI

DFHWS-URI es un contenedor de DATATYPE(CHAR) que contiene el URI del servicio.

En una interconexión de proveedor de servicios, CICS extrae el URI relacionado del mensaje de entrada y lo coloca en el contenedor DFHWS-URI.

Por ejemplo, si el URI de los servicios Web es http://example.com/location/address o jms://queue?destination=INPUT.QUEUE&targetService=/location/address, el URI relacionado es /location/address.

Si está utilizando direccionamiento de servicios Web en la interconexión de proveedor, este contenedor se creará y se actualizará en el orden siguiente:
  1. Al ejecutarse el mandato INVOKE SERVICE, crea el contenedor DFHWS-URI y lo inicia con el valor de la dirección de punto final de servicio WSDL. Si se ha utilizado el mandato de API WSACONTEXT BUILD para crear un contexto de direccionamiento, no debe especificar los parámetros URI o URIMAP en el mandato INVOKE SERVICE.
  2. Cuando se ejecuta el manejador de direccionamiento de servicios Web (DFHWSADH), si existe un <wsa:To> EPR en el contexto de direccionamiento con un URI no anónimo, el URI del contenedor DFHWS-URI queda sobrescrito por el valor del <wsa:To> EPR. El URI anónimo se ignora.

En una interconexión de peticionario de servicios, CICS coloca el URI especificado en el mandato INVOKE SERVICE o, si no está, el URI del enlace de servicio Web, en el contenedor DFHWS-URI. Puede alterar temporalmente este URI mediante un manejador de mensajes en la interconexión.

Un servicio puede utilizar un URI HTTP, HTTPS, JMS o WMQ para servicios externos. Un servicio también puede utilizar un URI CICS para un servicio proporcionado por otra aplicación CICS:

URI Serie de consulta Descripción
cics://PROGRAM/programa ?opciones El manejador de transporte de CICS utiliza un mandato EXEC CICS LINK PROGRAM para enlazar al programa especificado, pasando el canal y contenedores actuales. No se realiza transformación de datos alguna en los datos de la aplicación.
cics://SERVICE/servicio ?targetServiceUri=targetServiceUri&opciones El manejador de transporte de CICS utiliza la vía de acceso del servicio, expresada como targetServiceUri, para emparejar un recurso URIMAP para que ejecute la petición a través de la interconexión del proveedor.

Debe especificar un valor para el parámetro targetServiceUri si utiliza este tipo de URI.

cics://PIPELINE/interconexión ?targetServiceUri=targetServiceUri El manejador de transporte de CICS inicia otra interconexión de peticionario de servicios.

Puede añadir parámetros a cada tipo de URI de CICS utilizando el formato parámetro=valor, donde cada parámetro está separado por el carácter &. Las reglas siguientes corresponden al URI de CICS:

Los parámetros de la serie de consulta determinan cómo CICS procesa la petición al final de la interconexión del peticionario:

maxCommareaLength=valor
Especifique el tamaño máximo de COMMAREA en bytes, que es necesario para el programa de aplicación de destino. El valor no debe sobrepasar 32 763. Si este parámetro está presente en la serie de consulta, CICS enlaza al programa especificado utilizando COMMAREA. Si este parámetro no está presente en la serie de consulta, CICS enlaza con el programa especificado utilizando un canal.
Este parámetro no es sensible a mayúsculas y minúsculas y solo es válido para el URI cics://PROGRAM.
newTask=yes|no
Especifique si el manejador de transporte ejecutará la petición como una tarea nueva.
Este parámetro no es sensible a las mayúsculas y minúsculas. cics://PROGRAM/testapp?newTask=yes y cics://PROGRAM/testapp?NEWTASK=Yes son lo mismo.
targetServiceUri=uri
Especifique la vía de acceso del servicio al que debe llamarse. En un tipo de destino SERVICE, el manejador de transporte utiliza el valor con host=localhost para localizar el recurso URIMAP para iniciar una interconexión de proveedor de servicios. En un tipo de destino PIPELINE, el manejador de transporte utiliza el valor para iniciar otra interconexión de peticionario.
Este parámetro es sensible a las mayúsculas y minúsculas.
transid=char(4)
Especifique una transacción bajo la que se ejecutará la petición. El manejador de transporte inicia una secuencia de petición utilizando el ID de transacción especificado.
Este parámetro es sensible a las mayúsculas y minúsculas.
userid=char(8)
Especifique un ID de usuario bajo el que se ejecutará la petición. El manejador de transporte inicia una secuencia de petición utilizando el ID de usuario especificado.
Este parámetro no es sensible a las mayúsculas y minúsculas.
Tipo de destino Parámetros en el URI
PROGRAM userid Opcional
transid Opcional
maxCommareaLength Opcional
newTask Opcional. Debe ser sí, o no especificarse si especifica userid o transid.
targetServiceUri No soportado
SERVICE userid Opcional
transid Opcional
maxCommareaLength No soportado
newTask Opcional. Debe ser sí, o no especificarse si especifica userid o transid.
targetServiceUri Obligatorio
PIPELINE userid No soportado
transid No soportado
maxCommareaLength No soportado
newTask No soportado
targetServiceUri Obligatorio

Ejemplos de URI de CICS

En este primer ejemplo, el contenedor DFHWS-URI tiene el siguiente URI al llegar al final de la interconexión:
cics://PROGRAM/testapp?newTask=yes&userid=user1
El manejador de transporte enlaza al programa CICS denominado testapp, pasando en canal y los contenedores. No se realiza transformación de datos alguna, por lo que el programa destino debe poder procesar el contenido de los contenedores en el canal actual. CICS enlaza con el programa bajo una unidad de trabajo nueva y un ID de usuario distinto a user1.

En este segundo ejemplo, el contenedor DFHWS-URI tiene el siguiente URI al llegar al final de la interconexión:

cics://SERVICE/getStockQuote?targetServiceUri=/stock/getQuote&newTask=yes&userid=user2

El manejador de transporte sustituye el URI del contenedor DFHWS-URI por el valor /stock/getQuote, busca el URIMAP utilizando la vía de acceso en el parámetro targetServiceUri para resolver el URI, e inicia la interconexión del proveedor bajo una tarea nueva y un ID de usuario distinto.

En este tercer ejemplo, el contenedor DFHWS-URI tiene el siguiente URI al llegar al final de la interconexión:

cics://PIPELINE/reqpipeA?targetServiceUri=cics://PROGRAM/testapp?newTask=yes%26userid=user1 
El manejador de transporte sustituye el URI del contenedor DFHWS-URI por el valor cics://PROGRAM/testapp?newTask=yes&userid=user1 e inicia la interconexión de proveedor denominada reqpipeA, pasando el canal y contenedores actuales. Loe caracteres %26 escapan del carácter & por lo que el manejador de transporte coloca todo el URI en el contenedor DFHWS-URI.

Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)