HTTPAPI (LIBHTTP) on IBM i is the bomb. Luckily I am not boarding a plane at the moment, so I can use that kind of language without getting strip searched by some burly TSA agents.
After spending far too long investigating various techniques to get my IBM i system to talk to an external website (Authorize.net in this case) and being led down many wrong roads… I stumbled across scott’s collection of open source RPGLE programs called HTTPAPI.
In Scott’s words:
Download HTTP API source:
This is an RPG IV service program that uses socket calls to implement the HTTP 1.1 protocol. The HTTP protocol is the data transfer protocol that is used to transfer documents over the World Wide Web.
Special Offer for all NICKLITTEN Punters
20% Off with Coupon: NICKLITTEN
In Partnership with SNUG CBD - American readers get 20% off
CBD helps with relaxation, focus and great for pain relief. I highly recommend the SNUG CBD Tincture to help keep you in the zone when programming!
This service program can, optionally, also do “https” (HTTP over SSL) requests to an SSL-enhanced web server.
This is a powerful utility with many uses, so I’m opening it up to the world. Since this has only been tested for a few applications with a few servers, I’m looking for people to help out with testing, documentation and maybe even with new features.
In short – its a collection of programs in a library called LIBHTTP which you simply download and install on your IBM i system.
Thats it… now look at the various example programs and you will quickly see how easy it is to build a SOAP packet (containing your XML data string that you want to send to the web service) and then send it, get a response back and voila!
I spent last night playing with this, writing some RPGLE sample routines and once I had got my head around SOAP SERVER, SOAP ACTION and MERCHANT ID and MERCHANT KEY — I was quickly getting responses back from Authorize.net straight into my RPGLE programs. Simply Brilliant.
So, now its time to write a bunch of programs performing the whole Credit Card payment process for IBM i (‘AS400’ to you 1980’s luddites) written all in wonderful IBM RPG language.
*sigh* happy days….