Cette fonction permet de fixer dynamiquement le pool nommé utilisé par un service web (SOAP ou REST) généré avec Adélia.
Domaine d'application
Client Java (service Web).
Paramètres
ALPHA (n) |
NomDuPool |
Nom du pool nommé. |
BOOL |
CodeRetour |
Code retour de l'opération : *VRAI si l'opération s'est déroulée correctement. *FAUX dans le cas contraire. |
Remarques :
Cette fonction doit être appelée dans le bloc INIT_PGM du programme. Au préalable, il faut préciser que le bloc INIT_PGM n'est pas une opération/ressource du service à l'aide de la déclaration suivante :
SW_CONFIGURER *SERVICE '_init_pgm_as_method' 'false'
Le bloc INIT_PGM est exécuté à l'instanciation du service.
La portée par défaut d'un service étant de type 'Request' ce bloc est appelé sur chaque appel.
Pour un service de portée 'Application', le bloc INIT_PGM est exécuté une seule fois à la première utilisation du service.
Par exemple
[DECL_PGM]
BOOL rc
ALPHA(256) queryString
ALPHA(128) countryName
ALPHA(128) poolName
SW_CONFIGURER *SERVICE '_init_pgm_as_method' 'false'
[INIT_PGM]
APPELER_CLASS 'VaToolBx' 'VaToolBxAwsGetQueryString' queryString rc
si rc = *VRAI
* récupération de la valeur du paramètre 'country'
traiter_proc getQueryParamValue 'country' countryName
si countryName <> *BLANK
poolName = 'pool' /// countryName
APPELER_DLL 'VaToolBx' 'VaToolBxWSSetSpecificPoolName' poolName rc
fin
fin
Si la fonction VaToolBxWSSetSpecificPoolName réussit alors le service utilisera, pour obtenir une session middleware, le pool nommé localisé à l'aide du paramètre 'country' passé sur la requête HTTP.