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)
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:
Create a web services Server:
• 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
Allow From All
# </NJL01> Modification End
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.
How to Install IBM Access Client Solutions (ACS)
5733XJ1 IBM i Access Client Solutions – QuickStartGuide
Install LANSA AXES – Automatic Web Interface for IBM i (AS/400) 5250 Applications
How to get a list of all files in an IFS folder
Edit MENU with IBM i RDI
Encrypt IBM i File (Table) Data with no RPGLE changes using SQL
Cleaning messy IBM i Integrated File System (IFS) file names
How to encrypt or hide CL/RPG Source Code in ILE Debug Views
IBM i SQL – Using SUBST to insert data into a string