J'ai déployé un *SRVPGM sous forme de web service REST. sur les méthodes, j'ai indiqué un "Returned output media type" à "*XML_AND_JSON".
Dans "request information", dans la partie "HTTP Headers", j'ai ajouté la valeur "CONTENT-TYPE".
D'après ce qui est écrit ici, il faut fixer la variable d'environnement "CONTENT_TYPE" pour indiquer le format voulu.
J'ai donc fait le code suivant afin de récupérer la valeur du header content-type pour alimenter la variable d'environnement avec :
Code : Tout sélectionner
dcl-pr GetEnvVar extproc('QtmhGetEnv');
*n char(100);
*n int(10) const;
*n int(10);
*n char(100) const;
*n int(10) const;
*n char(100);
end-pr;
dcl-pr PutEnvVar extproc('QtmhPutEnv');
*n char(100);
*n int(10) const;
*n char(100);
end-pr;
dcl-s lRetour char(100) inz;
dcl-s lRetourLen int(10) inz;
dcl-s lErreurApi char(100) inz;
dcl-s lString char(100) inz;
GetEnvVar(lRetour:%len(lRetour):lRetourLen:'HTTP_CONTENT-TYPE':17:lErreurApi);
lString = 'CONTENT_TYPE=' + %trim(lRetour);
PutEnvVar(lString:%len(lString):lErreurApi);
Si je force "Returned output media type" à "*JSON" au déploiement du service, j'ai bien du JSON en retour (c'était pour être sûr).
Que me manque-t'il pour avoir, au choix, du XML ou du JSON ?
Merci.