from itoolkit import *
from itoolkit.lib.ilibcall import *
itransport = iLibCall()
#itool = iToolKit(iparm=0, iret=0, ids=1, irow=0)
itool = iToolKit()
itool.add(
iPgm('qmhsndm','QMHSNDM',{'error':'on'})
.addParm(iData('msgId','7a',''))
.addParm(iData('qualMsgF','20a',''))
.addParm(iData('msgTxt','2a','Hi'))
.addParm(iData('msgTxtLen','10i0','2'))
.addParm(iData('msgType','10a','*INFO'))
.addParm(iData('msgQueues','20a','KAFKA AARONLIB '))
.addParm(iData('nbrQueues','10i0','1'))
.addParm(iData('rplyQueue','20a',''))
.addParm(iData('msgKey','4a',''))
.addParm(
iDS('errorCode')
.addData(iData('bytesProv','10i0',''))
.addData(iData('bytesAvail','10i0',''))
)
)
itool.trace_open()
itool.call(itransport)
itool.trace_close()
output = itool.dict_out('sndpgmmsg')
print(output)
Here is the output I am getting.
$ python3 ipgm.py
***********************
control Tue Oct 10 15:54:34 2017
ctl (*here *cdata) ipc (*na) ebcdic_ccsid (0) pase_ccsid (0)
input Tue Oct 10 15:54:34 2017
<?xml version='1.0'?>
<xmlservice><pgm error="on" name="QMHSNDM" var="qmhsndm"><parm io="both" var="p1"><data type="7a" var="msgId"/></parm><parm io="both" var="p2"><data type="20a" var="qualMsgF"/></parm><parm io="both" var="p3"><data type="2a" var="msgTxt"><![CDATA[Hi]]></data></parm><parm io="both" var="p4"><data type="10i0" var="msgTxtLen"><![CDATA[2]]></data></parm><parm io="both" var="p5"><data type="10a" var="msgType"><![CDATA[*INFO]]></data></parm><parm io="both" var="p6"><data type="20a" var="msgQueues"><![CDATA[KAFKA AARONLIB ]]></data></parm><parm io="both" var="p7"><data type="10i0" var="nbrQueues"><![CDATA[1]]></data></parm><parm io="both" var="p8"><data type="20a" var="rplyQueue"/></parm><parm io="both" var="p9"><data type="4a" var="msgKey"/></parm><parm io="both" var="p10"><ds var="errorCode"><data type="10i0" var="bytesProv"/><data type="10i0" var="bytesAvail"/></ds></parm></pgm></xmlservice>
output Tue Oct 10 15:54:34 2017
<?xml version='1.0'?>
<xmlservice><pgm error="on" name="QMHSNDM" var="qmhsndm">
<parm io="both" var="p1">
<data type="7a" var="msgId"><![CDATA[]]></data>
</parm>
<parm io="both" var="p2">
<data type="20a" var="qualMsgF"><![CDATA[]]></data>
</parm>
<parm io="both" var="p3">
<data type="2a" var="msgTxt"><![CDATA[Hi]]></data>
</parm>
<parm io="both" var="p4">
<data type="10i0" var="msgTxtLen"><![CDATA[2]]></data>
</parm>
<parm io="both" var="p5">
<data type="10a" var="msgType"><![CDATA[*INFO]]></data>
</parm>
<parm io="both" var="p6">
<data type="20a" var="msgQueues"><![CDATA[KAFKA AARONLIB]]></data>
</parm>
<parm io="both" var="p7">
<data type="10i0" var="nbrQueues"><![CDATA[1]]></data>
</parm>
<parm io="both" var="p8">
<data type="20a" var="rplyQueue"><![CDATA[]]></data>
</parm>
<parm io="both" var="p9">
<data type="4a" var="msgKey"><![CDATA[
parse (fail) Tue Oct 10 15:54:34 2017
3c3f786d6c2076657273696f6e3d2731 <?xml version='1
2e30273f3e0a3c786d6c736572766963 .0'?>.<xmlservic
653e3c70676d206572726f723d226f6e e><pgm error="on
22206e616d653d22514d48534e444d22 " name="QMHSNDM"
207661723d22716d68736e646d223e0a var="qmhsndm">.
3c7061726d20696f3d22626f74682220 <parm io="both"
7661723d227031223e0a3c6461746120 var="p1">.<data
747970653d22376122207661723d226d type="7a" var="m
73674964223e3c215b43444154415b5d sgId"><![CDATA[]
5d3e3c2f646174613e0a3c2f7061726d ]></data>.</parm
3e0a3c7061726d20696f3d22626f7468 >.<parm io="both
22207661723d227032223e0a3c646174 " var="p2">.<dat
6120747970653d223230612220766172 a type="20a" var
3d227175616c4d736746223e3c215b43 ="qualMsgF"><![C
444154415b5d5d3e3c2f646174613e0a DATA[]]></data>.
3c2f7061726d3e0a3c7061726d20696f </parm>.<parm io
3d22626f746822207661723d22703322 ="both" var="p3"
3e0a3c6461746120747970653d223261 >.<data type="2a
22207661723d226d7367547874223e3c " var="msgTxt"><
215b43444154415b48695d5d3e3c2f64 ![CDATA[Hi]]></d
6174613e0a3c2f7061726d3e0a3c7061 ata>.</parm>.<pa
726d20696f3d22626f74682220766172 rm io="both" var
3d227034223e0a3c6461746120747970 ="p4">.<data typ
653d223130693022207661723d226d73 e="10i0" var="ms
675478744c656e223e3c215b43444154 gTxtLen"><![CDAT
415b325d5d3e3c2f646174613e0a3c2f A[2]]></data>.</
7061726d3e0a3c7061726d20696f3d22 parm>.<parm io="
626f746822207661723d227035223e0a both" var="p5">.
3c6461746120747970653d2231306122 <data type="10a"
207661723d226d736754797065223e3c var="msgType"><
215b43444154415b2a494e464f5d5d3e ![CDATA[*INFO]]>
3c2f646174613e0a3c2f7061726d3e0a </data>.</parm>.
3c7061726d20696f3d22626f74682220 <parm io="both"
7661723d227036223e0a3c6461746120 var="p6">.<data
747970653d2232306122207661723d22 type="20a" var="
6d7367517565756573223e3c215b4344 msgQueues"><![CD
4154415b4b41464b4120202020204141 ATA[KAFKA AA
524f4e4c49425d5d3e3c2f646174613e RONLIB]]></data>
0a3c2f7061726d3e0a3c7061726d2069 .</parm>.<parm i
6f3d22626f746822207661723d227037 o="both" var="p7
223e0a3c6461746120747970653d2231 ">.<data type="1
30693022207661723d226e6272517565 0i0" var="nbrQue
756573223e3c215b43444154415b315d ues"><![CDATA[1]
5d3e3c2f646174613e0a3c2f7061726d ]></data>.</parm
3e0a3c7061726d20696f3d22626f7468 >.<parm io="both
22207661723d227038223e0a3c646174 " var="p8">.<dat
6120747970653d223230612220766172 a type="20a" var
3d2272706c795175657565223e3c215b ="rplyQueue"><![
43444154415b5d5d3e3c2f646174613e CDATA[]]></data>
0a3c2f7061726d3e0a3c7061726d2069 .</parm>.<parm i
6f3d22626f746822207661723d227039 o="both" var="p9
223e0a3c6461746120747970653d2234 ">.<data type="4
6122207661723d226d73674b6579223e a" var="msgKey">
3c215b43444154415b <![CDATA[
parse step: 2 (1-ok, 2-*BADPARSE, 3-*NOPARSE)
{'error': {'error1': ' ?xml version=\'1.0\'? xmlservice pgm error="on" name="QMHSNDM" var="qmhsndm" parm io="both" var="p1" data type="7a" var="msgId" ![CDATA[]] /data /parm parm io="both" var="p2" data type="20a" var="qualMsgF" ![CDATA[]] /data /parm parm io="both" var="p3" data type="2a" var="msgTxt" ![CDATA[Hi]] /data /parm parm io="both" var="p4" data type="10i0" var="msgTxtLen" ![CDATA[2]] /data /parm parm io="both" var="p5" data type="10a" var="msgType" ![CDATA[*INFO]] /data /parm parm io="both" var="p6" data type="20a" var="msgQueues" ![CDATA[KAFKA AARONLIB]] /data /parm parm io="both" var="p7" data type="10i0" var="nbrQueues" ![CDATA[1]] /data /parm parm io="both" var="p8" data type="20a" var="rplyQueue" ![CDATA[]] /data /parm parm io="both" var="p9" data type="4a" var="msgKey" ![CDATA[', 'sndpgmmsg': {...}, 'error': '*BADPARSE'}}