> Tech > XMLSERVICE Interface

XMLSERVICE Interface

Tech - Par Renaud ROSSET - Publié le 19 juin 2014
email

Que vous utilisiez XMLSERVICE via une procédure stockée DB2 ou un service HTTP REST, vous aurez besoin de certains éléments pour pouvoir appeler votre programme.

XMLSERVICE Interface

Base de données. C’est le nom de la base de données sur votre système. Ce n’est pas le nom d’un fichier ou d’une table. Si vous ne connaissez pas son nom, vous le trouverez dans l’arborescence des bases de données dans System i Navigator.
ID et mot de passe utilisateur. C’est simplement votre nom d’utilisateur et mot de passe sur l’IBM i.

IPC. Je vous avoue ne pas savoir exactement ce que signifie IPC. Au moment où j’écris ces lignes, la documentation est encore incomplète. Mais je comprends le concept. Il s’agit d’acheminer des documents XML vers le bon job XMLSERVICE et de fournir un espace dédié pour stocker une éventuelle mémoire partagée. L’IPC est simplement un chemin entièrement qualifié vers un répertoire temporaire, utilisable par votre connexion. Une très simple sélection est la suivante : /tmp/username.

CTL. Ce paramètre (control) vous permet de modifier le comportement de votre job XMLSERVICE actuel. Bien que cette liste ne soit pas complète et que de nouveaux codes de contrôle viennent s’y ajouter, voici une courte liste de certaines valeurs de contrôle courantes et utiles :

• *debug – stoppe un appel pour déboguage.
• *immed – termine immédiatement le job courant.
• *nostart – empêche XMLSERVICE de déployer un nouveau job.

XML In. C’est votre entrée XML dans XMLSERVICE. Ce document XML dit à XMLSERVICE ce qu’il faut appeler et quels sont les paramètres. Nous verrons cela dans la section suivante.

XML Out. Ce paramètre peut n’être pas nécessaire si vous utilisez l’interface de procédure stockée XMLSERVICE avec des jeux de résultats. Ce document XML contiendra vos résultats.

Les paramètres nécessaires peuvent être groupés en trois catégories. Base de données, ID utilisateur, et mot de passe ont une fonction évidente. Ils servent à établir votre connexion avec le système. IPC et CTL sont les paramètres de configuration de votre job. XML in et out sont vos buffers.

XMLSERVICE peut être invoqué par différentes méthodes, dont la plus simple est peut-être l’interface de procédure stockée DB2. Cela peut se faire à partir de toute plate-forme et langage capable d’accéder à DB2 via DB2 Connect, ODBC, ou toute autre méthode d’accès compatible avec les procédures stockées.

De multiples procédures stockées peuvent être appelées selon la taille de votre sortie XML et selon que vous voulez votre XML renvoyé dans un paramètre ou comme un jeu de résultats. Les noms de procédures se trouvent ci-dessous.

XML Maximum Size Output Parameter Output Result Set
4 KB iPLUG4K iPLUGR4K
32 KB iPLUG32K iPLUGR32K
65 KB iPLUG65K iPLUGR65K
512 KB iPLUG512K iPLUGR512K
1 MB iPLUG1M iPLUGR1M
5 MB iPLUG5M iPLUGR5M
10 MB iPLUG10M iPLUGR10M
15 MB iPLUG15M iPLUGR15M

Noms de procédures stockées.

L’autre méthode d’utilisation de XMLSERVICE consiste à configurer votre serveur HTTP pour utiliser le XMLSERVICE via CGI. Cela fait de XMLSERVICE un service web REST capable d’appeler n’importe quel programme sur votre système.

De quoi exposer très facilement les processus existants sur le web sans travail supplémentaire. Pour que cela fonctionne, il vous faudra modifier votre fichier de configuration du serveur HTTP (httpd.conf ). Cette modification est simple et devrait ressembler à ceci :

ScriptAlias /cgi-bin/ /QSYS.LIB/XMLSERVICE.LIB/
<Directory /QSYS.LIB/XMLSERVICE.LIB/>
AllowOverride None
order allow,deny
allow from all
SetHandler cgi-script
Options +ExecCGI
</Directory>

En ajoutant cette configuration à votre serveur HTTP IBM i, vous avez la possibilité d’invoquer XMLSERVICE en utilisant l’adresse http:// yourwebserver/cgi-bin/xmlcgi.pgm. Les paramètres nécessaires évoqués plus haut font partie de votre requête HTTP. Cet article ne peut pas couvrir tout cela, mais si vous êtes un habitué des services web, vous devriez vous en sortir facilement en consultant la documentation de XMLSERVICE.

Téléchargez cette ressource

Sécuriser votre système d’impression

Sécuriser votre système d’impression

Longtemps sous-estimée, la sécurisation d’un système d’impression d’entreprise doit être pleinement prise en compte afin de limiter le risque de fuite d’informations sensibles. Voici les 3 principales précautions à prendre.

Tech - Par Renaud ROSSET - Publié le 19 juin 2014