Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iLibCall fails on 64-bt Python versions #17

Closed
kadler opened this issue Nov 30, 2018 · 9 comments
Closed

iLibCall fails on 64-bt Python versions #17

kadler opened this issue Nov 30, 2018 · 9 comments
Labels
bug Something isn't working
Milestone

Comments

@kadler
Copy link
Member

kadler commented Nov 30, 2018

Original report by Kevin Adler (Bitbucket: kadler, GitHub: kadler).


All calls to XMLSERVICE through iLibCall fail with *NODATA. Other transports are unaffected.

Example:

#!python
from itoolkit import *
from itoolkit.lib.ilibcall import *

itransport = iLibCall()
itool = iToolKit()

itool.add(iCmd5250('wrkactjob', 'WRKACTJOB'))
print(itool.xml_in())
itool.call(itransport)
wrkactjob = itool.dict_out('wrkactjob')
print(wrkactjob)

Output:

#!text
<?xml version='1.0'?>
<xmlservice><sh error="fast" var="wrkactjob"><![CDATA[/QOpenSys/usr/bin/system WRKACTJOB]]></sh></xmlservice>

{'error': {'error': '*NODATA', 'wrkactjob': {...`
@kadler
Copy link
Member Author

kadler commented Nov 30, 2018

Original comment by Kevin Adler (Bitbucket: kadler, GitHub: kadler).


This is an upstream XMLSERVICE bug: https://bitbucket.org/inext/xmlservice-rpg/issues/17/calling-xmlservice-from-a-64-bit-pase-job

For now, the workaround is to use the database transport:

#!python
# Instead of this
from itoolkit.lib.ilibcall import *
itransport = iLibCall()

# Do this
from itoolkit.db2.idb2call import *
itransport = iDB2Call()

@kadler kadler added major bug Something isn't working and removed major labels Dec 21, 2018
@kadler
Copy link
Member Author

kadler commented Jan 23, 2019

New XMLSERVICE bug is IBM/xmlservice#17

@dmabupt
Copy link

dmabupt commented Jan 29, 2019

Original comment by Kevin Adler (Bitbucket: kadler, GitHub: kadler).

This is an upstream XMLSERVICE bug: https://bitbucket.org/inext/xmlservice-rpg/issues/17/calling-xmlservice-from-a-64-bit-pase-job

For now, the workaround is to use the database transport:

#!python
# Instead of this
from itoolkit.lib.ilibcall import *
itransport = iLibCall()

# Do this
from itoolkit.db2.idb2call import *
itransport = iDb2Call()

@kadler
It should be uppercased B ->itransport = iDB2Call() , not iDb2Call()

@jkyeung
Copy link
Contributor

jkyeung commented Jan 29, 2019

@kadler
It should be uppercased B ->itransport = iDB2Call() , not iDb2Call()

@dmabupt - Ah. Actually, it should be Db2, since that is consistent with IBM's current branding. However, it does look like the actual code in itoolkit.db2.idb2call still has a class named iDB2Call. It's probably reasonable to make an alias there, like

iDb2Call = iDB2Call

or vice versa.

@kadler
Copy link
Member Author

kadler commented Jan 29, 2019

@jkyeung That would make sense to do, if all the i*Call transports weren't going to be deprecated in the next release anyway.

@ramstein74

This comment has been minimized.

@kadler
Copy link
Member Author

kadler commented Apr 8, 2019

@ramstein74 Seems like a different issue than this one - please open a separate issue.

@richardschoen
Copy link

Whew, good thing this was documented. I was banging my head trying to get iLibCall to work today :-)

@kadler
Copy link
Member Author

kadler commented Apr 30, 2020

This is fixed in XMLSERVICE 2.0.1. The necessary PTFs are now documented in here an the code will now attempt to detect this condition and raise an exception with the PTF numbers in the exception message.

@kadler kadler closed this as completed Apr 30, 2020
@kadler kadler added this to the 1.7 milestone May 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants