Webservice from IBM i RPGLE program out to the web

IBM i

Dec 16

So, for a recent project I wanted to create a simple webservice, a “heartbeat” program that would be written in RPG and would reply to anbody calling it from anywhere on the network with a simple response that indicated that it worked.

A webservice is routine that can be called over a TCP/IP network.

• A callable routine. (Program? Subprocedure?)

• Callable over a TCP/IP Network. (LAN? Intranet? Internet?)

• Using the HTTP (or HTTPS) network protocol

….can also be called from the same computer.

The idea is that this webservice will allow other computers on the network to communicate with our IBM i system and get a reply back sayiing “Hello, everything is hunky dory”. Tihs is called providing the webservice.

The computer that runs this servcice and gets the reply – is consuming the webservice.

I could do this using an opensource plugin like HTTPAPI (aka LIBHTTP) but this time I’m going to create it as a webservice that is called directly from the IWS (Integrated WebServer – aka IBM Apache Server)

OK – onto the nitty gritty

Configure Apache Server to make sure its ready to provide a weservice to the outside world. From the IBM i command line:

STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN)

then point your browser at the this server to see if its running:

http://your-system:2001/HTTPAdmin

Create a web services Server:

Sign-in
• Click “Internet Configurations” (if IBM i 6.1 or higher)
• Click “IBM Web Administration for i”

# <NJL01> Modification Start
# WebServices added for ACSIS

ScriptAlias /info /qsys.lib/nlitten.lib/webinfo.pgm
ScriptAlias /valbin /qsys.lib/nlitten.lib/webvalbin.pgm
ScriptAlias /getbin /qsys.lib/nlitten.lib/webgetbin.pgm

<Directory /qsys.lib/nlitten.lib>
Order Allow,Deny
Allow From All
</Directory>

# </NJL01> Modification End

Follow

About the Author

IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Alpha Nerd and Passionate Eater of Cheese and Biscuits. Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day. Enjoy your stay, feel free to comment and in the words of the most interesting man in the world: Stay thirsty my friend.