itoolkit is a Node.js interface to XMLSERVICE to access all things IBM i.
XMLSERVICE provides interfaces to interact with IBM i resources such as programs and commands. XMLSERVICE receives xml input and returns xml output.
For example run a CL command by sending the following XML input to XMLSERVICE.
<?xml version="1.0" encoding="UTF-8"?> <myscript> <cmd exec="rexx">RTVJOBA USRLIBL(?) SYSLIBL(?)</cmd> </myscript>
XMLSERVICE will run the command and respond with XML output.
<?xml version="1.0" encoding="UTF-8"?> <myscript> <cmd exec="rexx"> <success>+++ success RTVJOBA USRLIBL(?) SYSLIBL(?)</success> <row> <data desc="USRLIBL">QGPL QTEMP</data> </row> <row> <data desc="SYSLIBL">QSYS QSYS2 QHLPSYS QUSRSYS</data> </row> </cmd> </myscript>
itoolkit, with the help of an XML parser, can run the same CL command with:
const { Connection, CommandCall } = require('itoolkit'); const { XMLParser } = require('fast-xml-parser'); const connection = new Connection({ transport: 'ssh', transportOptions: { host: 'myhost', username: 'myuser', password: 'mypassword' }, }); const command = new CommandCall({ type: 'cl', command: 'RTVJOBA USRLIBL(?) SYSLIBL(?)' }); connection.add(command); connection.run((error, xmlOutput) => { if (error) { throw error; } const Parser = new XMLParser(); const result = Parser.parse(xmlOutput); console.log(JSON.stringify(result)); });
The purpose of this package is to simplify the process of creating XMLSERVICE input, invoking XMLSERVICE, and returning XMLSERVICE output from Node.js.
$ npm install itoolkit
Please read the docs.
Refer to the README.
Please read the contribution guidelines.
For information on making a release, read RELEASE.md.