Volubis, le forum IBM i Index du Forum Volubis, le forum IBM i
avec les clubs Informatiques IPL et Bretagne.
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

script installation des web services

 
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> Web
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
NicolasG



Inscrit le: 09 Mar 2016
Messages: 15
Localisation: Lausanne, Suisse

MessagePosté le: Jeu 19 Oct 2017, 15:42:40    Sujet du message: script installation des web services Répondre en citant

Bonjour,

dans le cadre de notre intégration continue, je dois mettre en oeuvre le script installWebService.sh pour des services REST.

hors lorsque je tente de faire une install, il ne me crée pas le WS tel que je le souhaiterai.
voici mon script
installwebservice.sh -server websrvf1d -service calcDouble -userid VACONNECT -programObject /qsys.lib/VADEVGRN.LIB/calcdbl.PGM -p
cml /home/grn/calcdbl.PCML -serviceType *REST -detectFieldLengths -propertiesFile /home/grn/calcdbl.properties -printErrorDetails
IWS00102I - Command completed successfully.


voici mon pcml
<pcml version="6.0">
<!-- RPG program: CALCDBL -->
<!-- created: 2017-10-19-15.14.00 -->
<!-- source: /home/grn/qrpglesrc/calcdbl.rpgle -->
<!-- 6 -->
<program name="CALCDBL">
<data name="nbrIn" type="int" length="2" precision="15" usage="input" />
<data name="httpStatus" type="int" length="4" precision="31" usage="output" />
<data name="nbrOut" type="int" length="4" precision="31" usage="output" />
</program>
</pcml>


voici mon fichier properties
uri.path.template=/
calcDouble.uri.path.template=
calcDouble.wrap.input.parameters=true
calcDouble.wrap.output.parameter=true
calcDouble.http.request.method=POST
calcDouble.consumes=*/*
calcDouble.produces=application/json
calcDouble.response.code.parameter=httpStatus
calcDouble.nbrIn.usage=input
calcDouble.httpStatus.usage=output
calcDouble.nbrOut.usage=output


j'ai suivi la doc mais ça ne fonctionne pas
j'obtiens toujours un WS créé en méthode GET. mon httpStatus n'est pas utilisé

bref, où ai-je bien pu me tromper ?

Merci beaucoup

N. GRULIER


PS et voici mon programme très simple:
**free
ctl-opt actgrp(*caller)
;

// interface , signature
dcl-pi *n ;
nbrIn int(5) ;

httpStatus int(10) ;
nbrOut int(10) ;
END-PI;

nbrout = nbrin * 2 ;
httpStatus = 0200 ;

*inlr = *on ;
// fin PGM
_________________
_________
N. GRULIER
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
NicolasG



Inscrit le: 09 Mar 2016
Messages: 15
Localisation: Lausanne, Suisse

MessagePosté le: Ven 20 Oct 2017, 10:03:21    Sujet du message: Répondre en citant

Réponse trouvé grace à developerWork :
https://www.ibm.com/developerworks/ibmi/library/i-integrated-web-services-server/index.html
menu >>> "Allow RESTful services to return user-defined media types"

Selon la méthode utilisée (get ou post dans mon cas), il faut mapper ou non les paramètres d'entrée avec les inputs web .

>>>>> pour POST, on peut écrire
<PROC NAME>.wrap.input.parameters=true
cela suffit. il n'est pas nécessaire de rajouter


>>>>> pour GET:
<PROC name>.wrap.input.parameters=false

et ajouter en fin de fichier properties:
<PROC name>.nbrIn.usage=input
<PROC name>.nbrIn.queryparam=myNumber
pour mapper le nom nbrIn du programme avec la variable MyNumber qui sera dans l'URL

l'utilisation des minuscule dans le fichier properties semble être à respecter.

Ensuite pour installer le WS sur le serveur, je relance la commande via qsh :

> cd /qibm/proddata/os/webservices/bin
$
> installwebservice.sh -server WSANDBOX -service Calcul_DOUBLE -programObject /qsys.lib/<bibliothèque>.lib/<mon programme>.pgm -servicetype *REST -pcml <chemin IFS du fichier PCML (si PCML externe)> -propertiesfile <chemin IFS du fichier properties> -detectFieldLengths -userid <userid>


PS: nous utilisons un PCML externe car notre version cobol ne permet pas de faire du PCML include et de gérer le CAMEL case comme en RPG.

en espérant avoir été concret.

Nicolas
_________________
_________
N. GRULIER
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> Web Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Anti Bot Question MOD - phpBB MOD against Spam Bots