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.
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:
| 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 | |
cics://PROGRAM/testapp?newTask=yes&userid=user1El 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=user1El 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.