Ce projet qui était à l'origine en Open source a été intégré à l'IBM i en V7 / TR5 par le biais de la bibliothèque QXMLSERV
il est utilisé pour accéder aux informations IBMi , depuis PHP, Ruby, Node.JS et Python.il peut être aussi être en mode CGI pour produire des webservices REST.
Téléchargez depuis le site http://youngiprofessionals.com/wiki/index.php/XMLSERVICE/XMLSERVICE
Restaurez XMLSERVICE et Compilez puis lancez
ou
en versions 7.1 , 7.2 , tenez vous à jour quant aux PTF sur 5770DG1 et utilisez QXMLSERV
Commençons par ce point qui permet de bien comprendre le principe et les paramètres attendus
Modification de la configuration Apache
ScriptAlias /cgi-bin/ /QSYS.LIB/QXMLSERV.LIB/ <Directory /QSYS.LIB/QXMLSERV.LIB/> AllowOverride None order allow,deny allow from all SetHandler cgi-script Options +ExecCGI </Directory>
L'API s'utilise de la manière suivante
Les mot-clés transmis peuvent être :
<cmd>...commande 5250...</cmd>
<cmd>...exécutable PASE...</cmd>
<sh>...enchaînement de commandes QSH ( | admis)...</sh>
<pgm name='PGM' lib='BIB' func='Fonction'>
<parm><data type='12P2'>...paramètre simple...</data></parm>
<parm><ds dim='xx'><data type='200A'>...paramètre complexe...</data></ds></parm>
<return><ds dim='xx'><data type='32A'>...paramètre retour...</data></ds></return>
</pgm>
<sql>
<query>select * from vins</query>
<fetch block='all|un chiffre' desc='on|off'/>
</sql>
Utilisation
Lancement d'un commande
Résultat
Lancement d'une commande PASE
Résultat
Lancement d'un ordre SQL
Résultat
Exemple d'appel d'un programme
Deux paramètres en entrée
Résultat ->
Exécution d'une commande
Résultat ->
Exécution d'une commande avec retour (ici RTVJOBA)
Résultat ->
Sous Node.JS, vous pouvez accéder aux objets IBM i par un toolkit basé sur le même projet
Exemple, avec une commande système RTVJOBA
Autre exemple avec le programme vu en PHP
Rappel, deux paramètres en entrée
Lancement du pgm, récupération du résultat en XML (par défaut)
Lancement du pgm, transformation en JSON pour dérouler l'arbre
Exemple (RTVJOBA)
En mode Web
A aujourd'hui (et comme souvent) nous avons des problèmes avec le code page 297.
Mais après CHGJOB CCSID(37)
Copyright © 2015 VOLUBIS