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