Rational Developer for System z, Version 7.6.1

Conteneur DFHWS-URI

DFHWS-URI est un conteneur de DATATYPE(CHAR) qui contient l'URI du service.

Dans un pipeline de fournisseur de service, CICS extrait l'URI relatif du message entrant et le place dans le conteneur DFHWS-URI.

Par exemple, si l'URI des services Web est http://example.com/location/address ou jms://queue?destination=INPUT.QUEUE&targetService=/location/address, l'URI relatif est /location/address.

Si vous utilisez l'adressage des services Web dans votre pipeline de fournisseur, ce conteneur est créé et mis à jour dans l'ordre suivant :
  1. Lorsque la commande INVOKE SERVICE s'exécute, elle créé le conteneur DFHWS-URI et l'initialise avec la valeur de l'adresse du noeud final du service WSDL. Si un contexte d'adressage a été créé par le biais de la commande d'API WSACONTEXT BUILD, ne spécifiez pas les paramètres URI ou URIMAP dans la commande INVOKE SERVICE.
  2. Si, au cours de l'exécution du gestionnaire d'adressage des services Web (DFHWSADH), il existe un EPR <wsa:To> dans le contexte d'adressage doté d'un URI non anonyme, l'URI du conteneur DFHWS-URI est remplacé par la valeur de l'EPR <wsa:To>. L'URI anonyme est ignoré.

Dans le contexte d'un pipeline de demandeur de service, CICS insère dans le conteneur DFHWS-URI l'URI spécifié dans la commande INVOKE SERVICE ou, à défaut, l'URI de la liaison de service Web. Vous pouvez remplacer cet URI en utilisant un gestionnaire de message dans le pipeline.

Un service peut utiliser un URI HTTP, HTTPS, JMS ou WMQ pour les services externes, mais aussi l'URI CICS d'un service fourni par une autre application CICS :

URI Chaîne de requête Description
cics://PROGRAM/programme ?options Le gestionnaire de transport CICS utilise une commande EXEC CICS LINK PROGRAM pour établir un lien avec le programme spécifié, procédure au cours de laquelle le canal et les conteneurs actuels sont transmis. Aucune transformation n'affecte les données de l'application.
cics://SERVICE/service ?targetServiceUri=UriServiceCible&options Le gestionnaire de transport CICS utilise le chemin du service, exprimé au format targetServiceUri, pour rechercher une occurrence de la ressource URIMAP dans le but d'exécuter la demande par le biais d'un pipeline de fournisseur.

Vous devez spécifier la valeur du paramètre targetServiceUri si vous utilisez ce type d'URI.

cics://PIPELINE/pipeline ?targetServiceUri=UriServiceCible Le gestionnaire de transport CICS lance un autre pipeline de demandeur de service.

Vous pouvez ajouter des paramètres à chaque type d'URI CICS au format paramètre=valeur, les différents paramètres étant séparés par une perluète. Les règles suivantes s'appliquent à l'URI CICS :

Les paramètres de la chaîne de requête déterminent comment CICS traite la demande à la fin du pipeline du demandeur :

longueurMaxCommarea=valeur
Spécifiez la taille maximale requise en octets de la zone de communication (COMMAREA) du programme d'application cible. Cette valeur ne doit pas dépasser 32 763. Si ce paramètre est défini dans la chaîne de requête, CICS établit un lien avec le programme spécifié à l'aide de la zone de communication. Dans le cas contraire, le lien est établi par le biais d'un canal.
Ce paramètre n'est pas sensible à la casse et s'applique uniquement à l'URI cics://PROGRAM.
newTask=yes|no
Indiquez si le gestionnaire de transport exécute la demande en tant que nouvelle tâche.
Ce paramètre n'est pas sensible à la casse. cics://PROGRAM/testapp?newTask=yes et cics://PROGRAM/testapp?NEWTASK=Yes sont identiques.
targetServiceUri=uri
Indiquez le chemin du service à appeler. Pour un type de destination SERVICE, le gestionnaire de transport utilise la valeur avec host=localhost pour localiser la ressource URIMAP dans le but de lancer un pipeline de fournisseur de service. Pour un type de destination PIPELINE, il utilise la valeur pour lancer un autre pipeline de demandeur.
Ce paramètre est sensible à la casse.
transid=char(4)
Spécifiez une transaction sous laquelle s'exécute la demande. Le gestionnaire de transport lance un flux de demandes en utilisant l'ID de transaction spécifié.
Ce paramètre est sensible à la casse.
userid=char(8)
Spécifiez un ID utilisateur sous lequel s'exécute la demande. Le gestionnaire de transport lance un flux de demandes à l'aide de l'ID utilisateur spécifié.
Ce paramètre n'est pas sensible à la casse.
Type de destination Paramètres dans l'URI
PROGRAM userid Optionnel
transid Optionnel
maxCommareaLength Optionnel
newTask Optionnel. Doit avoir la valeur yes ou ne pas être spécifié si userid ou transid est indiqué.
targetServiceUri Non pris en charge
SERVICE userid Optionnel
transid Optionnel
maxCommareaLength Non pris en charge
newTask Optionnel. Doit avoir la valeur yes ou ne pas être spécifié si userid ou transid est indiqué.
targetServiceUri Obligatoire
PIPELINE userid Non pris en charge
transid Non pris en charge
maxCommareaLength Non pris en charge
newTask Non pris en charge
targetServiceUri Obligatoire

Exemples d'URI CICS

Dans ce premier exemple, le conteneur DFHWS-URI a l'URI suivant au moment où il atteint la fin du pipeline :
cics://PROGRAM/testapp?newTask=yes&userid=user1
Le gestionnaire de transport établit un lien avec le programme CICS appelé testapp et transmet ce faisant le canal et les conteneurs. Aucune transformation n'affecte les données et le programme cible doit pouvoir traiter le contenu des conteneurs sur le canal en cours. CICS établit un lien avec le programme sous une nouvelle unité de travail et un ID utilisateur différent de user1.

Dans ce deuxième exemple, le conteneur DFHWS-URI a l'URI suivant au moment où il atteint la fin du pipeline :

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

Le gestionnaire de transport remplace l'URI dans le conteneur DFHWS-URI par la valeur /stock/getQuote, recherche l'URIMAP en utilisant le chemin du paramètre targetServiceUri afin de résoudre l'URI et lance le pipeline de fournisseur sous une nouvelle tâche et un ID utilisateur différent.

Dans ce troisième exemple, le conteneur DFHWS-URI a l'URI suivant au moment où il atteint la fin du pipeline :

cics://PIPELINE/reqpipeA?targetServiceUri=cics://PROGRAM/testapp?newTask=yes%26userid=user1 
Le gestionnaire de transport remplace l'URI dans le conteneur DFHWS-URI par la valeur cics://PROGRAM/testapp?newTask=yes&userid=user1 et lance le pipeline de demandeur appelé reqpipeA et, ce faisant, transmet le canal et les conteneurs en cours. La perluète étant associée aux caractères d'échappement %26, le gestionnaire de transport place l'URI complet dans le conteneur DFHWS-URI.

Conditions d'utilisation | Commentaires en retour

Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)