System Requirements:

  • IBM i (OS/400) version V4R2 or later.
  • Your TCP/IP must be installed and working.
  • You need an ILE RPG/400 compiler.

 
Instructions

  • Download the .ZIP file to your PC by right-clicking this link HTTP API distribution and choosing "Save Target As."

  • Extract the data from the .ZIP file into a temporary location on your hard drive.

  • Tip: If you are using a FreeBSD/Linux/Unix PC, use the following unzip command to make sure that the files are in Unix text format:
    • unzip -a httpapi.zip

  • Tip: Windows XP has an unzip tool built in. If you double-click the httpapi.zip file after you've downloaded it, it'll open up as a folder. There's a link on the left-hand side that lets you unzip all of the files, I suggest unzipping them to c:\httpapi or a similarly easy to remember location.


Batch Upload to iSeries

Because there are a lot of steps involved in FTPing all of the members to the iSeries, I created an MS-DOS batch file to do it. Follow these instructions if you want to use the batch file:

  • Open an MS-DOS prompt.

  • Switch to the directory where you unzipped HTTPAPI.ZIP
    C:\ > cd \httpapi

  • Run the batch file. It will FTP to your iSeries, create the LIBHTTP library, create the appropriate source files, and upload all of the source members. You have to pass parameters to tell it where your iSeries is, as well as your userid and password:
    C:\HTTPAPI > upload ibmi.example.com bob mypassword
  • Skip ahead to the section entitled "Building the Source"

Manual Upload to iSeries

Not everyone wants to use my batch file (bummer) so here are the steps that the batch file takes for you. Type them carefully to do this process manually:

  • Create the necessary objects on IBM i:

    • CRTLIB LIB(LIBHTTP)
    • CRTSRCPF FILE(LIBHTTP/QCLSRC) RCDLEN(92)
    • CRTSRCPF FILE(LIBHTTP/QDDSSRC) RCDLEN(92)
    • CRTSRCPF FILE(LIBHTTP/QCMDSRC) RCDLEN(92)
    • CRTSRCPF FILE(LIBHTTP/QRPGLESRC) RCDLEN(112)
    • CRTSRCPF FILE(LIBHTTP/QSH) RCDLEN(124)
    • CRTSRCPF FILE(LIBHTTP/QSRVSRC) RCDLEN(92)
    • CRTSRCPF FILE(LIBHTTP/QXMLGENS) RCDLEN(112)
    • CRTSRCPF FILE(LIBHTTP/EXPAT) RCDLEN(112)

  • Transfer all of the source code to IBM i

    • Open an MS-DOS Prompt.
    • Type: cd \directory\where\you\unzipped\httpapi
    • Type: ftp your-ibmi-name-here
    • Type: (enter your username & password when asked)
    • Type: quote site namefmt 1
    • Type: cd /qsys.lib/libhttp.lib
    • Type: prompt off
    • Type: ascii
    • Type: lcd QCLSRC.FILE
    • Type: cd QCLSRC.FILE
    • Type: mput *
    • Type: lcd ../QDDSSRC.FILE
    • Type: cd ..
    • Type: cd QDDSSRC.FILE
    • Type: mput *
    • Type: lcd ../QCMDSRC.FILE
    • Type: cd ..
    • Type: cd QCMDSRC.FILE
    • Type: mput *
    • Type: lcd ../QRPGLESRC.FILE
    • Type: cd ..
    • Type: cd QRPGLESRC.FILE
    • Type: mput *
    • Type: lcd ../QSH.FILE
    • Type: cd ..
    • Type: cd QSH.FILE
    • Type: mput *
    • Type: lcd ../QSRVSRC.FILE
    • Type: cd ..
    • Type: cd QSRVSRC.FILE
    • Type: mput *
    • Type: lcd ../QXMLGENS.FILE
    • Type: cd ..
    • Type: cd QXMLGENS.FILE
    • Type: mput *
    • Type: lcd ../EXPAT.FILE
    • Type: cd ..
    • Type: cd EXPAT.FILE
    • Type: mput *
    • Type: quit


Building the Source
  • Tip:If you want to use a different library name aside from LIBHTTP, open the INSTALL member of the QCLSRC file and change the &SRCLIB and &INSTLIB variables.

  • On IBM i, type:
    • CHGCURLIB CURLIB(LIBHTTP)
    • CRTCLPGM INSTALL SRCFILE(LIBHTTP/QCLSRC)
    • CALL INSTALL
    • The HTTPAPI installer will guide you through the rest of the process.