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
can run the same CL command with:
const { Connection, CommandCall } = require('itoolkit');
const { parseString } = require('xml2js');
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;
}
parseString(xmlOutput, (parseError, result) => {
if (parseError) {
throw parseError;
}
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.