[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Invalid heap space using HTTPAPI



   Charles:


   After a while trying to reproduce the error, I wrote a program
   (TSTCONTACT) that reads our member file with almost 5 million records
   in a loop and call my program getContactInfo. After 176,677 records,
   it gives the heap memory error:

   [cid:image002.jpg@01CBCE9A.3A7EE030]


   The error happens in the dealloc line (3448):


   Program:   HTTPAPIR4      Library:   LIBHTTP        Module:
   HTTPUTILR4

      3444       3443 D xdealloc
   PI

      3445       3444 D   ptr
   *

      3446       3445  /if
   defined(TERASPACE)

      3447       3446
   /else

      3448       3447 C                   dealloc
   ptr

      3449       3448
   /endif

      3450       3449 C                   eval      ptr =
   *null

      3451       3450 P
   E

      3452       3451

      3453
   3452

      3454       3453
   *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

      3455       3454  * xrealloc(): re-allocate
   memory

      3456       3455
   *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

      3457       3456 P xrealloc        B
   export

      3458       3457 D xrealloc        PI
   *



   The http_debug was *ON

   I include here the source of the Test program, The source of the RPG
   to consume the Web Service and the txt of the debug.

   I still do not have any clue of what happened.

   I will appreciate if you can give me any idea.


   Thank you very much,



   JULIO C. CABRERA

   Sr. Programmer Analyst, Information Technology

   Interval International

   6262 Sunset Drive o Miami, Florida 33143

   305.666.1861, ext. 7287 o direct 305.925.7287

   cell 305.928.7925 o fax 305.668.3409

   Julio.Cabrera@xxxxxxxxxxxxxxxx


   IntervalWorld.com o ResortDeveloper.com


   -----Original Message-----
   From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Charles
   Wilt
   Sent: Friday, January 21, 2011 3:02 PM
   To: HTTPAPI and FTPAPI Projects
   Subject: Re: Invalid heap space using HTTPAPI


   Julio,


   Turn debug logging on and post the resulting log..


   http_debug(*ON);


   Charles


   On Fri, Jan 21, 2011 at 2:42 PM, Julio Cabrera

   <Julio.Cabrera@xxxxxxxxxxxxxxxx> wrote:

   >

   >

   >   Gentlemen:

   >

   >

   >   I need help with this error.

   >

   >   It is happening with an RPG service using HTTPAPI, and normally

   >   happens when the web service is called multiple times.

   >

   >

   >   [cid:image002.jpg@01CBB979.7E576830]

   >

   >

   >   Any help will be very appreciated.

   >

   >

   >   Thanks,

   >

   >

   >

   >   JULIO C. CABRERA

   >

   >   Sr. Programmer Analyst, Information Technology

   >

   >   Interval International

   >

   >   6262 Sunset Drive o Miami, Florida 33143

   >

   >   305.666.1861, ext. 7287 o direct 305.925.7287

   >

   >   cell 305.928.7925 o fax 305.668.3409

   >

   >   [1]Julio.Cabrera@xxxxxxxxxxxxxxxx

   >

   >

   >   IntervalWorld.com o ResortDeveloper.com

   >

   >

   >

   >

   >
   ______________________________________________________________________

   >   _______

   >   Scanned by IBM Email Security Management Services powered by

   >   MessageLabs. For more information please visit
   http://www.ers.ibm.com

   >
   ______________________________________________________________________

   >   _______

   >

   > References

   >

   >   1. mailto:Julio.Cabrera@xxxxxxxxxxxxxxxx

   >

   >
   ----------------------------------------------------------------------
   -

   > This is the FTPAPI mailing list.  To unsubscribe, please go to:

   > http://www.scottklement.com/mailman/listinfo/ftpapi

   >
   ----------------------------------------------------------------------
   -

   >

   >

   ----------------------------------------------------------------------
   -

   This is the FTPAPI mailing list.  To unsubscribe, please go to:

   http://www.scottklement.com/mailman/listinfo/ftpapi

   ----------------------------------------------------------------------
   -


   ______________________________________________________________________
   _______

   Scanned by IBM Email Security Management Services powered by
   MessageLabs.

   ______________________________________________________________________
   _______

   ______________________________________________________________________
   _______
   Scanned by IBM Email Security Management Services powered by
   MessageLabs. For more information please visit http://www.ers.ibm.com
   ______________________________________________________________________
   _______

JPEG image

ÿþ 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      1

  Command  . . . . . . . . . . . . :   CRTRPGMOD

    Issued by  . . . . . . . . . . :     JCABRERA

  Module . . . . . . . . . . . . . :   TSTCONTACT

    Library  . . . . . . . . . . . :     QTEMP

  Text 'description' . . . . . . . :   *SRCMBRTXT

  Source Member  . . . . . . . . . :   TSTCONTACT

  Source File  . . . . . . . . . . :   QRPGLESRC

    Library  . . . . . . . . . . . :     LIBJCA

    CCSID  . . . . . . . . . . . . :     37

  Text 'description' . . . . . . . :   Test Basic Contact Web Service

  Last Change  . . . . . . . . . . :   02/10/11  14:12:24

  Generation severity level  . . . :   10

  Compiler options . . . . . . . . :   *XREF      *GEN       *NOSECLVL  *SHOWCPY

                                       *EXPDDS    *EXT       *NOSHOWSKP *NOSRCSTMT

                                       *DEBUGIO   *NOEVENTF

  Debugging views  . . . . . . . . :   *STMT

  Output . . . . . . . . . . . . . :   *PRINT

  Optimization level . . . . . . . :   *NONE

  Source listing indentation . . . :   *NONE

  Type conversion options  . . . . :   *NONE

  Sort sequence  . . . . . . . . . :   *HEX

  Language identifier  . . . . . . :   *JOBRUN

  Replace module . . . . . . . . . :   *NO

  Authority  . . . . . . . . . . . :   *LIBCRTAUT

  Truncate numeric . . . . . . . . :   *YES

  Fix numeric  . . . . . . . . . . :   *NONE

  Target release . . . . . . . . . :   *CURRENT

  Allow null values  . . . . . . . :   *NO

  Binding directory  . . . . . . . :   *NONE

  Define condition names . . . . . :   *NONE

  Enable performance collection  . :   *PEP

  Profiling data . . . . . . . . . :   *NOCOL

  Licensed Internal Code options . :

  Generate program interface . . . :   *NO

  Include directory  . . . . . . . :

  Preprocessor options . . . . . . :   *NONE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      2

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

                          S o u r c e   L i s t i n g

     1  *-----------------------------------------------------------------------------*                          091207     000100

     2  *- Test Basic Contact Web Service for heap error                             -*                          110210     000200

     3  *-                                                                           -*                          091207     000300

     4  *-                                                                           -*                          091207     000400

     8  *-----------------------------------------------------------------------------*                          091207     000800

     9 Fmember    if   e           k disk                                                                        110210     001000

        *--------------------------------------------------------------------------------------------*

        *                               RPG name         External name                               *

        * File name. . . . . . . . . :  MEMBER           FILELIB/MEMBER                              *

        * Record format(s) . . . . . :  MEMREC           MEMREC                                      *

        *--------------------------------------------------------------------------------------------*

    10 D #o              S              9S 0 inz(0)                                                              110210     001100

    11                                                                                                           100108     001200

    12  /Define cpyGetContactInfo_PR                                                                             100318     001300

    13  /Copy Qrpglesrc,CB.CONTACT                                                                               100318     001400

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.CONTACT                                                   *                     1

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.CONTACT)                                  *                     1

        * Last change  . . . . . . . :  06/15/10  10:20:14                                           *                     1

        * Text 'description' . . . . :  CONTACT Web Service - Copy Book                              *                     1

        *--------------------------------------------------------------------------------------------*

    14+ *-----------------------------------------------------------------------------*                          091203    1000100

    15+ *-                                                                            *                          091203    1000200

    16+ *- Copy Book   :  CB.CONTACT Copy Book for WS.MEMBER service                  *                          100318    1000300

    17+ *-                                                                            *                          091203    1000400

    18+ *- Description :  Membership Re-Architecture Basic Contact Service Copy Book  *                          100318    1000500

    19+ *-                                                                            *                          091203    1000600

    20+ *-----------------------------------------------------------------------------*                          091203    1000700

    21+ *-                                                                            *                          091203    1000800

    22+ *-                  M O D I F I C A T I O N S                                 *                          091203    1000900

    23+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    1001000

    24+ *- Date       User ID    Task #     Description                               *                          091203    1001100

    25+ *- ----       -------    --------   -----------                               *                          091203    1001200

    26+ *- 2009-12-08 VGato      RA010004   Copy Book Written                         *                          091208    1001300

    27+ *                                                                             *                          091203    1001400

    28+ *-----------------------------------------------------------------------------*                          091203    1001500

    29+ /If Defined (cpyGetContactInfo_PR)                                                                       100318    1001600

    30+D getContactInfo  PR              *                                                                       100318    1001700

    31+D   pMemb#                       7S 0 const                                Member #                       100212    1001800

    32+D   pContact                    10S 0 const options(*nopass)               Contact ID                     100318    1001900

    33+ /EndIf                                                                                                   091210    1002000

    34+                                                                                                          091210    1002100

    35+ /If Defined (cpyGetContactInfo_DS)                                                                       100318    1002200

            LINES EXCLUDED: 57

    36+ /EndIf                                                                                                   091210    1008000

    37+                                                                                                          100226    1008100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      3

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

    38+ /If Defined (cpyGetContactInfo_Fields)                                                                   100318    1008200

            LINES EXCLUDED: 3

    39+ /EndIf                                                                                                   091208    1008600

    40  /Undefine cpyGetContactInfo_PR                                                                           100318     001500

    41                                                                                                           091208     001600

    42  /Define cpyGetContactInfo_FIELDS                                                                         100318     001700

    43  /Copy Qrpglesrc,CB.CONTACT                                                                               100318     001800

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.CONTACT                                                   *                     2

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.CONTACT)                                  *                     2

        * Last change  . . . . . . . :  06/15/10  10:20:14                                           *                     2

        * Text 'description' . . . . :  CONTACT Web Service - Copy Book                              *                     2

        *--------------------------------------------------------------------------------------------*

    44+ *-----------------------------------------------------------------------------*                          091203    2000100

    45+ *-                                                                            *                          091203    2000200

    46+ *- Copy Book   :  CB.CONTACT Copy Book for WS.MEMBER service                  *                          100318    2000300

    47+ *-                                                                            *                          091203    2000400

    48+ *- Description :  Membership Re-Architecture Basic Contact Service Copy Book  *                          100318    2000500

    49+ *-                                                                            *                          091203    2000600

    50+ *-----------------------------------------------------------------------------*                          091203    2000700

    51+ *-                                                                            *                          091203    2000800

    52+ *-                  M O D I F I C A T I O N S                                 *                          091203    2000900

    53+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    2001000

    54+ *- Date       User ID    Task #     Description                               *                          091203    2001100

    55+ *- ----       -------    --------   -----------                               *                          091203    2001200

    56+ *- 2009-12-08 VGato      RA010004   Copy Book Written                         *                          091208    2001300

    57+ *                                                                             *                          091203    2001400

    58+ *-----------------------------------------------------------------------------*                          091203    2001500

    59+ /If Defined (cpyGetContactInfo_PR)                                                                       100318    2001600

            LINES EXCLUDED: 3

    60+ /EndIf                                                                                                   091210    2002000

    61+                                                                                                          091210    2002100

    62+ /If Defined (cpyGetContactInfo_DS)                                                                       100318    2002200

            LINES EXCLUDED: 57

    63+ /EndIf                                                                                                   091210    2008000

    64+                                                                                                          100226    2008100

    65+ /If Defined (cpyGetContactInfo_Fields)                                                                   100318    2008200

    66+D pMemb#          S              7S 0                                                                     091210    2008300

    67+D ErrorId         S              7A   inz                                                                 091215    2008400

    68+D ErrorMsg        S             80A   inz                                                                 091215    2008500

    69+ /EndIf                                                                                                   091208    2008600

    70  /Undefine cpyGetContactInfo_FIELDS                                                                       100318     001900

    71                                                                                                           100318     002000

    72  /Define cpyGetContactInfo_DS                                                                             100318     002100

    73  /Copy Qrpglesrc,CB.CONTACT                                                                               100318     002200

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.CONTACT                                                   *                     3

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.CONTACT)                                  *                     3

        * Last change  . . . . . . . :  06/15/10  10:20:14                                           *                     3

        * Text 'description' . . . . :  CONTACT Web Service - Copy Book                              *                     3

        *--------------------------------------------------------------------------------------------*

    74+ *-----------------------------------------------------------------------------*                          091203    3000100

    75+ *-                                                                            *                          091203    3000200

    76+ *- Copy Book   :  CB.CONTACT Copy Book for WS.MEMBER service                  *                          100318    3000300

    77+ *-                                                                            *                          091203    3000400

    78+ *- Description :  Membership Re-Architecture Basic Contact Service Copy Book  *                          100318    3000500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      4

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

    79+ *-                                                                            *                          091203    3000600

    80+ *-----------------------------------------------------------------------------*                          091203    3000700

    81+ *-                                                                            *                          091203    3000800

    82+ *-                  M O D I F I C A T I O N S                                 *                          091203    3000900

    83+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    3001000

    84+ *- Date       User ID    Task #     Description                               *                          091203    3001100

    85+ *- ----       -------    --------   -----------                               *                          091203    3001200

    86+ *- 2009-12-08 VGato      RA010004   Copy Book Written                         *                          091208    3001300

    87+ *                                                                             *                          091203    3001400

    88+ *-----------------------------------------------------------------------------*                          091203    3001500

    89+ /If Defined (cpyGetContactInfo_PR)                                                                       100318    3001600

            LINES EXCLUDED: 3

    90+ /EndIf                                                                                                   091210    3002000

    91+                                                                                                          091210    3002100

    92+ /If Defined (cpyGetContactInfo_DS)                                                                       100318    3002200

    93+D ptrContact      S               *                                                                       100318    3002300

    94+ *--                                                                                                      100315    3002400

    95+D dsContact       Ds                  likeDs(dsConInfo) based(ptrContact)                                 100318    3002500

    96+ *--                                                                                                      100318    3002600

    97+D dsConInfo       Ds                  qualified                                                           100318    3002700

    98+D  fName                        20A                                                                       100318    3002800

    99+D  lName                        25A                                                                       100318    3002900

   100+D  orgName                      30A                                                                       100318    3003000

   101+D  taxId                        25A                                                                 RA01  100615    3003100

   102+D  email                        50A                                                                       100318    3003200

   103+D  emlStatusCode                10A                                                                 RA01  100511    3003300

   104+D  emlStatusDes                 25A                                                                 RA01  100511    3003400

   105+D  lang                         20A                                                                       100318    3003500

   106+D  primCon                      10S 0                                                                     100318    3003600

   107+D  commMeth                     10A                                                                 RA01  100503    3003700

   108+D  dsAddr                             likeDs(dsAddrInfo) dim(5)                                           100318    3003800

   109+D  dsPhones                           likeDs(dsPhoneInfo) dim(5)                                          100318    3003900

   110+D  dsOther                            likeDs(dsOtherInfo) dim(25)                                         100318    3004000

   111+D  ErrorId                       7A   inz                                                                 100318    3004100

   112+D  ErrorMsg                     80A   inz                                                                 100318    3004200

   113+ *--                                                                                                      100315    3004300

   114+D dsAddrInfo      Ds                  dim(5) qualified inz                                                100322    3004400

   115+D  paId                         10S 0                                                                     100318    3004500

   116+D  addrType                     10A                                                                       100318    3004600

   117+D  line1                        25A                                                                       100318    3004700

   118+D  line2                        25A                                                                       100318    3004800

   119+D  line3                        25A                                                                       100318    3004900

   120+D  city                         15A                                                                       100318    3005000

   121+D  zipCode                       9A                                                                       100318    3005100

   122+D  country                      10A                                                                       100318    3005200

   123+D  territory                    10A                                                                       100318    3005300

   124+D  statusCode                   10A                                                                 RA01  100503    3005400

   125+D  statusDes                    25A                                                                       100318    3005500

   126+D  enterprise                   10A                                                                       100318    3005600

   127+D  stsChgRsn                    10A                                                                       100318    3005700

   128+D  usagePty                     10A                                                                       100318    3005800

   129+ *--                                                                                                      100315    3005900

   130+D dsPhoneInfo     Ds                  dim(5) qualified inz                                                100315    3006000

   131+D  phId                         10S 0                                                                     100318    3006100

   132+D  phType                        5A                                                                       100318    3006200

   133+D  phCountryId                   6A                                                                       100318    3006300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      5

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   134+D  phCountryCode                 6A                                                                       100318    3006400

   135+D  areaCode                      6A                                                                       100318    3006500

   136+D  phoneNo                      10A                                                                       100318    3006600

   137+D  ext                           5S 0                                                                     100318    3006700

   138+D  enterprise                   10A                                                                       100318    3006800

   139+D  statusCode                   30A                                                                 RA01  100503    3006900

   140+D  statusDes                    25A                                                                       100503    3007000

   141+D  usagePty                     30A                                                                       100318    3007100

   142+D  cellTerms                      N                                                                       100318    3007200

   143+D  doNotCall                      N                                                                       100318    3007300

   144+D  predictive                     N                                                                       100318    3007400

   145+ *--                                                                                                      100318    3007500

   146+D dsOtherInfo     Ds                  qualified inz                                                       100322    3007600

   147+D   fName                       30A                                                                       100318    3007700

   148+D   lName                       30A                                                                       100318    3007800

   149+D   orgName                     30A                                                                       100318    3007900

   150+ /EndIf                                                                                                   091210    3008000

   151+                                                                                                          100226    3008100

   152+ /If Defined (cpyGetContactInfo_Fields)                                                                   100318    3008200

            LINES EXCLUDED: 3

   153+ /EndIf                                                                                                   091208    3008600

   154  /Undefine cpyGetContactInfo_DS                                                                           100318     002300

   155                                                                                                           100111     002400

   156 D   pContactId    S             10S 0 Inz(0)                               Member#                        100318     002500

   157                                                                                                           100301     002600

   158  /free                                                                                                    091208     002700

   159                                                                                                           100108     002800

   160                                                                                                           100318     003800

   161=IMEMREC                                                                                                             4000001

        *--------------------------------------------------------------------------------------------*                     4

        * RPG record format  . . . . :  MEMREC                                                       *                     4

        * External format  . . . . . :  MEMREC : FILELIB/MEMBER                                      *                     4

        * Format text  . . . . . . . :  MEMBERSHIP MASTER                                            *                     4

        *--------------------------------------------------------------------------------------------*                     4

   162=I                             S    1    7 0MEMB#                           MEMBERSHIP #                             4000002

   163=I                             A    8   27  MLNAME                          LAST NAME                                4000003

   164=I                             A   28   47  MFNAME                          FIRST NAME                               4000004

   165=I                             A   48   72  MADD1                           ADDRESS-1                                4000005

   166=I                             A   73   97  MADD2                           ADDRESS-2                                4000006

   167=I                             A   98  122  MADD3                           ADDRESS-3                                4000007

   168=I                             A  123  137  MCITY                           CITY                                     4000008

   169=I                             A  138  139  MSTATE                          STATE                                    4000009

   170=I                             A  140  148  MZIP                            ZIP                                      4000010

   171=I                             A  149  163  MCNTRY                          COUNTRY                                  4000011

   172=I                             A  164  164  MCNTCD                          COUNTRY CODE                             4000012

   173=I                             A  165  167  MCNTC2                          COUNTRY CODE-2                           4000013

   174=I                             A  168  170  MRESRT                          RESORT CODE                              4000014

   175=I                             A  171  171  MACTCD                          ACTIVITY CODE                            4000015

   176=I                             A  172  172  MBILCD                          BILLING CODE                             4000016

   177=I                             A  173  173  MTYPE                           P = PREFERRED MEMBER                     4000017

   178=I                             A  174  175  MGROUP                          MARRIOTT GROUP CODE                      4000018

   179=I                             P  176  180 0MAIVC                           AIVC NUMBER                              4000019

   180=I                             P  181  184 0MEMBDT                          MEMBERSHIP DATE                          4000020

   181=I                             P  185  188 0MEXPDT                          EXPIRATION DATE                          4000021

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      6

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   182=I                             S  189  190 0MRNWMT                          RENEWAL MONTH                            4000022

   183=I                             P  191  192 0MBRMTH                          MONTHS OF MEMBERSHIP                     4000023

   184=I                             S  193  194 0MWEEK#                          NUMBER WEEKS OWNED                       4000024

   185=I                             A  195  200  MDEP#                           DEPOSIT NUMBER                           4000025

   186=I                             P  201  206 2MAMT                            $AMOUNT PAID                             4000026

   187=I                             A  207  208  MPAYTP                          CS/MC/VS/DC/AX/DS                        4000027

   188=I                             A  209  210  MOPINT                          OPERATOR INITIALS                        4000028

   189=I                             S  211  212 0MVPD#                           VP&D PUBLICATION #                       4000029

   190=I                             A  213  213  MLANGC                          LANGUAGE CODE                            4000030

   191=I                             A  214  216  MCURCY                          COUNTRY CODE                             4000031

   192=I                             A  217  221  MBSEXT                          BUSINESS PHONE EXT                       4000032

   193=I                             A  222  223  MBSALU                          SALUTATION                               4000033

   194=I                             A  224  232  MBSS#                           SOCIAL SECURITY#                         4000034

   195=I                             A  233  234  MBTYPE                          MEMBER TYPE                              4000035

   196=I                             A  235  284  MBEMAL                          E-MAIL ADDRESS                           4000036

   197=I                             S  285  289 0MBSWSQ                          SWITCH SEQUENCE NO.                      4000037

   198=I                             S  290  295 0MBMCBK                          BANK NO.                                 4000038

   199=I                        *ISO-D  296  305  MEMDTLPD                        DATE LAST PAYMENT                        4000039

   200=I                        *ISO-D  306  315  MEMPURDT                        PURCHASE DATE                            4000040

   201=I                             S  316  319 0MEMVPDYR                        VPD SENT YEAR                            4000041

   202   #o=0;                                                                                                   110210     003801

   203   setll *loval member;                                                                                    110210     003802

   204   dou %eof(member);                                                                             B01       110210     003803

   205   #o=#o+1;                                                                                       01       110210     003804

   206   read member;                                                                                   01       110210     003806

   207   if not %eof;                                                                                  B02       110210     003807

   208   pMemb#=Memb#;                                                                                  02       110210     003808

   209   ptrContact = getContactInfo(pMemb#);                                                           02       100929     004100

   210   if dsContact.ErrorId = *blanks;                                                               B03       110210     004200

   211      pContactId=dsContact.PrimCon;                                                               03       110210     004201

   212      ptrContact = getContactInfo(pMemb#: pContactId);                                            03       110210     004202

   213   else;                                                                                         X03       100318     004400

   214                                                                                                           110210     004500

   215   endif;                                                                                        E03       100318     004600

   216                                                                                                           100630     004700

   217   endif;                                                                                        E02       110210     006601

   218   enddo;                                                                                        E01       110210     006602

   219                                                                                                           100630     006700

   220   *inLR=*on;                                                                                              091207     006800

   221  /end-free                                                                                                091207     006900

       * * * * *   E N D   O F   S O U R C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      7

          A d d i t i o n a l   D i a g n o s t i c   M e s s a g e s

 Msg id  Sv Number Seq     Message text

*RNF7066 00      9 001000  Record-Format MEMREC not used for input or output.

 * * * * *   E N D   O F   A D D I T I O N A L   D I A G N O S T I C   M E S S A G E S   * * * * *

                            / C o p y   M e m b e r s

Line   Src  RPG name   <-------- External name -------> CCSID  <- Last change ->

Number Id              Library    File       Member            Date     Time

    13    1 CB.CONTACT IILIB      QRPGLESRC  CB.CONTACT    37  06/15/10 10:20:14

    43    2 CB.CONTACT IILIB      QRPGLESRC  CB.CONTACT    37  06/15/10 10:20:14

    73    3 CB.CONTACT IILIB      QRPGLESRC  CB.CONTACT    37  06/15/10 10:20:14

         * * * * *   E N D   O F   / C O P Y   M E M B E R S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      8

                    K e y   F i e l d   I n f o r m a t i o n

         File           Internal    External

           Record       field name  field name  Attributes

      1  MEMBER

           MEMREC

                        MEMB#                   ZONE      7,0 SIGNED

 * * * * *   E N D   O F   K E Y   F I E L D   I N F O R M A T I O N   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page      9

                          C r o s s   R e f e r e n c e

      File and Record References:

         File              Device             References (D=Defined)

           Record

         MEMBER            DISK                    9D    203     204     206

           MEMREC                                  9D    161

      Global Field References:

         Field             Attributes         References (D=Defined M=Modified)

         *INLR             N(1)                  220M

         #O                S(9,0)                 10D    202M    205M    205

*RNF7031 DSADDRINFO(5)     DS(204)               108     114D

*RNF7031   ADDRTYPE        A(10)                 116D

*RNF7031   CITY            A(15)                 120D

*RNF7031   COUNTRY         A(10)                 122D

*RNF7031   ENTERPRISE      A(10)                 126D

*RNF7031   LINE1           A(25)                 117D

*RNF7031   LINE2           A(25)                 118D

*RNF7031   LINE3           A(25)                 119D

*RNF7031   PAID            S(10,0)               115D

*RNF7031   STATUSCODE      A(10)                 124D

*RNF7031   STATUSDES       A(25)                 125D

*RNF7031   STSCHGRSN       A(10)                 127D

*RNF7031   TERRITORY       A(10)                 123D

*RNF7031   USAGEPTY        A(10)                 128D

*RNF7031   ZIPCODE         A(9)                  121D

*RNF7031 DSCONINFO         DS(4312)               95      97D

*RNF7031   COMMMETH        A(10)                 107D

*RNF7031   DSADDR(5)       DS(204)               108D

*RNF7031   DSOTHER(25)     DS(90)                110D

*RNF7031   DSPHONES(5)     DS(146)               109D

*RNF7031   EMAIL           A(50)                 102D

*RNF7031   EMLSTATUSCODE   A(10)                 103D

*RNF7031   EMLSTATUSDES    A(25)                 104D

*RNF7031   ERRORID         A(7)                  111D

*RNF7031   ERRORMSG        A(80)                 112D

*RNF7031   FNAME           A(20)                  98D

*RNF7031   LANG            A(20)                 105D

*RNF7031   LNAME           A(25)                  99D

*RNF7031   ORGNAME         A(30)                 100D

*RNF7031   PRIMCON         S(10,0)               106D

*RNF7031   TAXID           A(25)                 101D

         DSCONTACT         DS(4312)               95D    210     211

                           BASED(PTRCONTACT)

           ERRORID         A(7)                  210

           PRIMCON         S(10,0)               211

*RNF7031 DSOTHERINFO       DS(90)                110     146D

*RNF7031   FNAME           A(30)                 147D

*RNF7031   LNAME           A(30)                 148D

*RNF7031   ORGNAME         A(30)                 149D

*RNF7031 DSPHONEINFO(5)    DS(146)               109     130D

*RNF7031   AREACODE        A(6)                  135D

*RNF7031   CELLTERMS       N(1)                  142D

*RNF7031   DONOTCALL       N(1)                  143D

*RNF7031   ENTERPRISE      A(10)                 138D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page     10

*RNF7031   EXT             S(5,0)                137D

*RNF7031   PHCOUNTRYCODE   A(6)                  134D

*RNF7031   PHCOUNTRYID     A(6)                  133D

*RNF7031   PHID            S(10,0)               131D

*RNF7031   PHONENO         A(10)                 136D

*RNF7031   PHTYPE          A(5)                  132D

*RNF7031   PREDICTIVE      N(1)                  144D

*RNF7031   STATUSCODE      A(30)                 139D

*RNF7031   STATUSDES       A(25)                 140D

*RNF7031   USAGEPTY        A(30)                 141D

*RNF7031 ERRORID           A(7)                   67D

*RNF7031 ERRORMSG          A(80)                  68D

         GETCONTACTINFO    *(16)                  30D    209     212

                           PROTOTYPE

*RNF7031 MACTCD            A(1)                  175D

*RNF7031 MADD1             A(25)                 165D

*RNF7031 MADD2             A(25)                 166D

*RNF7031 MADD3             A(25)                 167D

*RNF7031 MAIVC             P(9,0)                179D

*RNF7031 MAMT              P(11,2)               186D

*RNF7031 MBEMAL            A(50)                 196D

*RNF7031 MBILCD            A(1)                  176D

*RNF7031 MBMCBK            P(6,0)                198D

*RNF7031 MBRMTH            P(3,0)                183D

*RNF7031 MBSALU            A(2)                  193D

*RNF7031 MBSEXT            A(5)                  192D

*RNF7031 MBSS#             A(9)                  194D

*RNF7031 MBSWSQ            P(5,0)                197D

*RNF7031 MBTYPE            A(2)                  195D

*RNF7031 MCITY             A(15)                 168D

*RNF7031 MCNTCD            A(1)                  172D

*RNF7031 MCNTC2            A(3)                  173D

*RNF7031 MCNTRY            A(15)                 171D

*RNF7031 MCURCY            A(3)                  191D

*RNF7031 MDEP#             A(6)                  185D

         MEMB#             P(7,0)                162D    208

*RNF7031 MEMBDT            P(7,0)                180D

*RNF7031 MEMDTLPD          D(10*ISO-)            199D

*RNF7031 MEMPURDT          D(10*ISO-)            200D

*RNF7031 MEMVPDYR          P(4,0)                201D

*RNF7031 MEXPDT            P(7,0)                181D

*RNF7031 MFNAME            A(20)                 164D

*RNF7031 MGROUP            A(2)                  178D

*RNF7031 MLANGC            A(1)                  190D

*RNF7031 MLNAME            A(20)                 163D

*RNF7031 MOPINT            A(2)                  188D

*RNF7031 MPAYTP            A(2)                  187D

*RNF7031 MRESRT            A(3)                  174D

*RNF7031 MRNWMT            P(2,0)                182D

*RNF7031 MSTATE            A(2)                  169D

*RNF7031 MTYPE             A(1)                  177D

*RNF7031 MVPD#             P(2,0)                189D

*RNF7031 MWEEK#            P(2,0)                184D

*RNF7031 MZIP              A(9)                  170D

         PCONTACTID        S(10,0)               156D    211M    212

         PMEMB#            S(7,0)                 66D    208M    209     212

         PTRCONTACT        *(16)                  93D     95     209M    212M

      Indicator References:

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page     11

         Indicator                            References (D=Defined M=Modified)

         LR                                      220M

       * * * * *   E N D   O F   C R O S S   R E F E R E N C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page     12

                      E x t e r n a l   R e f e r e n c e s

      Statically bound procedures:

         Procedure                            References

         GETCONTACTINFO                           30     209     212

      Imported fields:

         Field             Attributes         Defined

         No references in the source.

      Exported fields:

         Field             Attributes         Defined

         No references in the source.

   * * * * *   E N D   O F   E X T E R N A L   R E F E R E N C E S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page     13

                          M e s s a g e   S u m m a r y

 Msg id  Sv Number Message text

*RNF7031 00    166 The name or indicator is not referenced.

*RNF7066 00      1 Record-Format name of Externally-Described file is not used.

       * * * * *   E N D   O F   M E S S A G E   S U M M A R Y   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/TSTCONTACT         IIMIADEV   02/17/11 11:36:00        Page     14

                            F i n a l   S u m m a r y

  Message Totals:

    Information  (00) . . . . . . . :      167

    Warning      (10) . . . . . . . :        0

    Error        (20) . . . . . . . :        0

    Severe Error (30+)  . . . . . . :        0

    ---------------------------------  -------

    Total . . . . . . . . . . . . . :      167

  Source Totals:

    Records . . . . . . . . . . . . :      221

    Specifications  . . . . . . . . :      118

    Data records  . . . . . . . . . :        0

    Comments  . . . . . . . . . . . :       58

         * * * * *   E N D   O F   F I N A L   S U M M A R Y   * * * * *

Module TSTCONTACT placed in library QTEMP. 00 highest severity. Created on 02/17/11 at 11:36:00.

          * * * * *   E N D   O F   C O M P I L A T I O N * * * * *

HTTPAPI Ver 1.23 released 2008-04-24
OS/400 Ver V5R4M0

New iconv() objects set, PostRem=1208. PostLoc=0. ProtRem=819. ProtLoc=0
http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry  : 2
DNS resolver options: x'00000136'
DNS default domain: corp.interval-intl.com
DNS server found: 172.25.46.27
DNS server found: 172.25.46.28
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /EnterpriseServicesWeb/services/as400DataManager.wsdl' HTTP/1.1
Host: esw.qa1-ii-apps.com
User-Agent: http-api/1.23
Content-Type: text/xml; charset=UTF-8
Expect: 100-continue
Content-Length: 769
Cookie: $Version=0; bigipserversoa-qa1-mr-webservices-enterprise-app-pool1=190388652.36895.0000; $Path=/;
SOAPAction: http://http://services.intervalintl.com/schema/as400dataservice/as400DataMessages/as400DataService/GetContactInfoRequest


recvresp(): entered
HTTP/1.1 100 Continue


SetError() #13: HTTP/1.1 100 Continue
senddoc(): entered
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:as4="http://services.intervalintl.com/schema/as400dataservice/as400DataMessages"; xmlns:head="http://services.intervalintl.com/schema/common/headerrq";> <soapenv:Header/> <soapenv:Body> <as4:GetBasicContactInfoRequest> <head:header CountryCd="?" LanguageCd="?" TerminalId="?" TransactionChannel="?" EchoToken="?" TimeStamp="2011-02-16T11:10:01" Target="Production" Version="0.1" RetransmissionIndicator="1" MaxResponses="100" MoreDataEchoToken="?" SessionId="?" InteractionType="?" InteractionUser="?"> <head:Requestor Id="?" IdContext="?" Password="?"/> </head:header> <as4:MembershipNumber>391565</as4:MembershipNumber></as4:GetBasicContactInfoRequest></soapenv:Body> </soapenv:Envelope>
recvresp(): entered
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
SOAPAction: ""
Content-Type: text/xml;charset=utf-8
Date: Wed, 16 Feb 2011 16:10:58 GMT
Set-Cookie: BIGipServerSOA-QA1-MR-WEBSERVICES-ENTERPRISE-APP-POOL1=190388652.36895.0000; path=/
Transfer-Encoding: chunked


SetError() #13: HTTP/1.1 200 OK
recvdoc parms: chunked 0
ÿþ 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      1

  Command  . . . . . . . . . . . . :   CRTRPGMOD

    Issued by  . . . . . . . . . . :     JCABRERA

  Module . . . . . . . . . . . . . :   WS.CONTACT

    Library  . . . . . . . . . . . :     QTEMP

  Text 'description' . . . . . . . :   *SRCMBRTXT

  Source Member  . . . . . . . . . :   WS.CONTACT

  Source File  . . . . . . . . . . :   QRPGMOD

    Library  . . . . . . . . . . . :     IILIB

    CCSID  . . . . . . . . . . . . :     37

  Text 'description' . . . . . . . :   Web Service - Contact

  Last Change  . . . . . . . . . . :   11/18/10  12:15:29

  Generation severity level  . . . :   10

  Compiler options . . . . . . . . :   *XREF      *GEN       *NOSECLVL  *SHOWCPY

                                       *EXPDDS    *EXT       *NOSHOWSKP *NOSRCSTMT

                                       *DEBUGIO   *NOEVENTF

  Debugging views  . . . . . . . . :   *STMT

  Output . . . . . . . . . . . . . :   *PRINT

  Optimization level . . . . . . . :   *NONE

  Source listing indentation . . . :   *NONE

  Type conversion options  . . . . :   *NONE

  Sort sequence  . . . . . . . . . :   *HEX

  Language identifier  . . . . . . :   *JOBRUN

  Replace module . . . . . . . . . :   *NO

  Authority  . . . . . . . . . . . :   *LIBCRTAUT

  Truncate numeric . . . . . . . . :   *YES

  Fix numeric  . . . . . . . . . . :   *NONE

  Target release . . . . . . . . . :   *CURRENT

  Allow null values  . . . . . . . :   *NO

  Binding directory  . . . . . . . :   *NONE

  Define condition names . . . . . :   *NONE

  Enable performance collection  . :   *PEP

  Profiling data . . . . . . . . . :   *NOCOL

  Licensed Internal Code options . :

  Generate program interface . . . :   *NO

  Include directory  . . . . . . . :

  Preprocessor options . . . . . . :   *NONE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      2

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

                          S o u r c e   L i s t i n g

     1  *-----------------------------------------------------------------------------*                          091202     000100

     2  *-                                                                            *                          091202     000200

     3  *- Program   : Web Service for Contact Info                                   *                          100312     000300

     4  *-                                                                            *                          091202     000400

     5  *- Procedures: getContactInfo : Get Contact Info                              *                          100312     000500

     6  *-                        In  : Memb#, Contact(optional)                      *                          100312     000600

     7  *-                       Out  : DSCONTACT                                     *                          100312     000700

     8  *-                                                                            *                          100209     000800

     9  *- Description :  Membership Re-Architecture Web Service for Contact Info     *                          100312     000900

    10  *-                                                                            *                          091202     001000

    11  *-----------------------------------------------------------------------------*                          091202     001100

        31  *- Before compiling:                                                          *                          091202     003100

    32  *-   * make sure LIBHTTP library is in your library list.                     *                          091202     003200

    33  *-        ADDLIBLE LIBHTTP *LAST                                              *                          091202     003300

    34  *                                                                             *                          091202     003400

        38  *-----------------------------------------------------------------------------*                          091202     003800

    39                                                                                                           091202     003900

    40 h nomain bnddir('HTTPAPI':'QC2LE')                                                                        091202     004000

    41  *-                                                                                                       091204     004100

    42  *- File description specifications                                                                       091204     004200

    43  *-                                                                                                       091204     004300

        *--------------------------------------------------------------------*

        * Compiler Options in Effect:                                        *

        *--------------------------------------------------------------------*

        *  Text 'description' . . . . . . . :   Web Service - Contact        *

        *  Generation severity level  . . . :   10                           *

        *  Compiler options . . . . . . . . :   *XREF      *GEN              *

        *                                       *NOSECLVL  *SHOWCPY          *

        *                                       *EXPDDS    *EXT              *

        *                                       *NOSHOWSKP *NOSRCSTMT        *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      3

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

        *                                       *DEBUGIO   *NOEVENTF         *

        *  Optimization level . . . . . . . :   *NONE                        *

        *  Source listing indentation . . . :   *NONE                        *

        *  Type conversion options  . . . . :   *NONE                        *

        *  Sort sequence  . . . . . . . . . :   *HEX                         *

        *  Language identifier  . . . . . . :   *JOBRUN                      *

        *  Authority  . . . . . . . . . . . :   *LIBCRTAUT                   *

        *  Truncate numeric . . . . . . . . :   *YES                         *

        *  Fix numeric  . . . . . . . . . . :   *NONE                        *

        *  Allow null values  . . . . . . . :   *NO                          *

        *  Binding directory from Command . :   *NONE                        *

        *  Binding directory from Source  . :   HTTPAPI      QC2LE           *

        *    Library  . . . . . . . . . . . :     *LIBL        *LIBL         *

        *  Enable performance collection  . :   *PEP                         *

        *  Profiling data . . . . . . . . . :   *NOCOL                       *

        *--------------------------------------------------------------------*

    44 fmbfflcmtdtif   e           k disk    usropn                                                              091202     004400

        *--------------------------------------------------------------------------------------------*

        *                               RPG name         External name                               *

        * File name. . . . . . . . . :  MBFFLCMTDT       FILELIB/MBFFLCMTDT                          *

        * Record format(s) . . . . . :  MBRFLCMTDT       MBRFLCMTDT                                  *

        *--------------------------------------------------------------------------------------------*

    45 fRplctry3  if   e           k disk                                                                  RA01  100322     004500

    46                                                                                                           091207     004600

    47  /copy HTTPAPI_H                                                                                          091207     004700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  HTTPAPI_H                                                    *                     1

        * External name  . . . . . . :  LIBHTTP/QRPGLESRC(HTTPAPI_H)                                 *                     1

        * Last change  . . . . . . . :  02/17/11  10:25:27                                           *                     1

        * Text 'description' . . . . :  HTTP-API header member                                       *                     1

        *--------------------------------------------------------------------------------------------*

    48+/*-                                                                            +                          000000    1000100

    49+ * Copyright (c) 2001-2008 Scott C. Klement                                    +                          080205    1000200

    50+ * All rights reserved.                                                        +                          000000    1000300

    51+ *                                                                             +                          000000    1000400

    52+ * Redistribution and use in source and binary forms, with or without          +                          000000    1000500

    53+ * modification, are permitted provided that the following conditions          +                          000000    1000600

    54+ * are met:                                                                    +                          000000    1000700

    55+ * 1. Redistributions of source code must retain the above copyright           +                          000000    1000800

    56+ *    notice, this list of conditions and the following disclaimer.            +                          000000    1000900

    57+ * 2. Redistributions in binary form must reproduce the above copyright        +                          000000    1001000

    58+ *    notice, this list of conditions and the following disclaimer in the      +                          000000    1001100

    59+ *    documentation and/or other materials provided with the distribution.     +                          000000    1001200

    60+ *                                                                             +                          000000    1001300

    61+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ''AS IS'' AND      +                          070828    1001400

    62+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE       +                          000000    1001500

    63+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  +                          000000    1001600

    64+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE     +                          000000    1001700

    65+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  +                          000000    1001800

    66+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS     +                          000000    1001900

    67+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)       +                          000000    1002000

    68+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  +                          000000    1002100

    69+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY   +                          000000    1002200

    70+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF      +                          000000    1002300

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      4

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

    71+ * SUCH DAMAGE.                                                                +                          000000    1002400

    72+ *                                                                             +                          000000    1002500

    73+ */                                                                            +                          000000    1002600

    74+                                                                                                          000000    1002700

    75+ /if defined(HTTPAPI_H)                                                                                   000000    1002800

            LINES EXCLUDED: 1

    76+ /endif                                                                                                   000000    1003000

    77+                                                                                                          000000    1003100

        *--------------------------------------------------------------------------------------------*

        *                               RPG name         External name                               *

        * File name. . . . . . . . . :  RPLCTRY3         FILELIB/RPLCTRY3                            *

        * Record format(s) . . . . . :  RPRCTRYC         RPRCTRYC                                    *

        *--------------------------------------------------------------------------------------------*

    78+D HTTPAPI_VERSION...                                                                                      000000    1003200

    79+D                 C                   CONST('1.23')                                                       080424    1003300

    80+D HTTPAPI_RELDATE...                                                                                      000000    1003400

    81+D                 C                   CONST('2008-04-24')                                                 080424    1003500

    82+                                                                                                          070628    1003600

    83+ /copy LIBHTTP/qrpglesrc,config_h                                                                         070509    1003700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CONFIG_H                                                     *                     2

        * External name  . . . . . . :  LIBHTTP/QRPGLESRC(CONFIG_H)                                  *                     2

        * Last change  . . . . . . . :  02/17/11  10:25:27                                           *                     2

        * Text 'description' . . . . :  HTTP-API compile-time configuration                          *                     2

        *--------------------------------------------------------------------------------------------*

    84+***  If you do not want SSL support, comment out the line below.                                          011020    2000100

    85+***   (You _must_ do this if you're running V4R4 or earlier)                                              011020    2000200

    86+                                                                                                          011020    2000300

    87+D/define HAVE_SSLAPI                                                                                      021030    2000400

    88+                                                                                                          040303    2000500

    89+***  define this if your RPG compiler supports 64-bit integers                                            040303    2000600

    90+***  (they were introduced in V4R4)                                                                       040303    2000700

    91+***                                                                                                       040303    2000800

    92+                                                                                                          040303    2000900

    93+D/define HAVE_INT64                                                                                       040303    2001000

    94+                                                                                                          040303    2001100

    95+***  define this if your RPG compiler supports                                                            040303    2001200

    96+***  options(*SRCSTMT: *NODEBUGIO: *NOSHOWCPY)                                                            040303    2001300

    97+***  (they were introduced in V4R4, but can be enabled as far                                             040303    2001400

    98+***   back as V3R2 using PTFs)                                                                            040303    2001500

    99+                                                                                                          040303    2001600

   100+D/define HAVE_SRCSTMT_NODEBUGIO                                                                           040303    2001700

   101+                                                                                                          050622    2001800

   102+***  In V4R5 it's possible to enable GSKit for SSL via                                                    050622    2001900

   103+***    PTFs. However, some functionality wasn't yet available                                             050622    2002000

   104+***    in that release. Define this if you need SSL to be limited                                         050622    2002100

   105+***    to what's available on a V4R5 system. (This is ignored                                             050622    2002200

   106+***    when SSL is disabled.)                                                                             050622    2002300

   107+                                                                                                          050622    2002400

   108+D/undefine V4R5_GSKIT                                                                                     050622    2002500

   109+                                                                                                          011020    2002600

   110+***  This is the default timeout value (in seconds) that HTTPAPI                                          011020    2002700

   111+***  uses if a timeout value isn't specified by the calling                                               011020    2002800

   112+***  program:                                                                                             011020    2002900

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      5

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   113+                                                                                                          011020    2003000

   114+D HTTP_TIMEOUT    C                   CONST(60)                                                           060327    2003100

   115+                                                                                                          011020    2003200

   116+***  This is the 'User-Agent' name that is reported by this API                                           011020    2003300

   117+***  to the web servers if you don't specify it explcitly when                                            011020    2003400

   118+***  calling the routines.                                                                                011020    2003500

   119+                                                                                                          011020    2003600

   120+D HTTP_USERAGENT  C                   CONST('http-api/1.23')                                              080424    2003700

   121+                                                                                                          011020    2003800

   122+***  This is the 'Content-Type' that is reported by this API                                              011020    2003900

   123+***  to the web servers if you don't specify it explcitly when                                            011020    2004000

   124+***  calling the POST routines.   (the GET routines, by default,                                          011020    2004100

   125+***  do not specify a content-type.)                                                                      011020    2004200

   126+                                                                                                          011020    2004300

   127+D HTTP_CONTTYPE   C                   CONST('text/xml')                                                   031001    2004400

   128+                                                                                                          011020    2004500

   129+***  The original implementation of HTTPAPI used tables                                                   050623    2004600

   130+***  (*TBL objects) to translate from ASCII to EBCDIC. These can                                          050623    2004700

   131+***  be enabled/set by defining the HTTP_USE_TABLES condition,                                            050623    2004800

   132+***  and then setting the table names.  They can be overridden                                            050623    2004900

   133+***  at runtime by calling HTTP_setTables().                                                              050623    2005000

   134+***                                                                                                       050623    2005100

   135+***  In the current implementation, we prefer that you use CCSIDs                                         050623    2005200

   136+***  instead of tables. When HTTP_USE_TABLES is not defined,                                              050623    2005300

   137+***  the HTTP_EBCDIC and HTTP_ASCII constants represent the                                               050623    2005400

   138+***  default CCSIDs for ASCII<-->EBCDIC translation.  They can be                                         050623    2005500

   139+***  overridden at runtime by calling HTTP_setCCSIDs()                                                    050623    2005600

   140+***                                                                                                       050623    2005700

   141+                                                                                                          011020    2005800

   142+ /undefine HTTP_USE_TABLES                                                                                060923    2005900

   143+ /if defined(HTTP_USE_TABLES)                                                                             050623    2006000

            LINES EXCLUDED: 2

   144+ /else                                                                                                    050623    2006300

   145+D HTTP_EBCDIC     C                   CONST(0)                                                            050623    2006400

   146+D HTTP_ASCII      C                   CONST(819)                                                          060330    2006500

   147+ /endif                                                                                                   050623    2006600

   148+                                                                                                          011020    2006700

   149+***  This is the codepage or CCSID assigned to downloaded stream                                          050623    2006800

   150+***  files by default. (Note: HTTPAPI does not convert the file                                           050623    2006900

   151+***  to this CCSID, it just assigns this number to the file's                                             050623    2007000

   152+***  attributes.)                                                                                         050623    2007100

   153+***                                                                                                       050623    2007200

   154+***  Whether this is treated as a CCSID or a codepage depends on                                          050623    2007300

   155+***  the value of the HTTP USE CCSID condition, below.                                                    050623    2007400

   156+***                                                                                                       050623    2007500

   157+***  Can be overridden at runtime by calling HTTP_SetFileCCSID()                                          050623    2007600

   158+                                                                                                          011020    2007700

   159+D HTTP_CCSID      C                   CONST(819)                                                          061116    2007800

   160+                                                                                                          050623    2007900

   161+***  Starting in V5R1, a full CCSID is available in the IFS                                               050623    2008000

   162+***  instead of a codepage. When this is defined, CCSID support                                           050623    2008100

   163+***  will be used instead of codepages                                                                    050623    2008200

   164+                                                                                                          050623    2008300

   165+D/define HTTP_USE_CCSID                                                                                   050623    2008400

   166+                                                                                                          011020    2008500

   167+***  This is the file mode used when creating files in the IFS.                                           011020    2008600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      6

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   168+***  (Caution: This mode is given in DECIMAL, not octal!)                                                 011020    2008700

   169+***  Octal 666 = Decimal 438  (RW-RW-RW-)                                                                 011020    2008800

   170+***  Octal 644 = Decimal 420  (RW-R--R--)                                                                 011020    2008900

   171+***  Octal 777 = Decimal 511  (RWXRWXRWX)                                                                 011020    2009000

   172+***  Octal 755 = Decimal 493  (RWXR-XR-X)                                                                 011020    2009100

   173+                                                                                                          011020    2009200

   174+D HTTP_IFSMODE    C                   CONST(511)                                                          011020    2009300

   175+                                                                                                          030327    2009400

   176+***  HTTPAPI normally uses non-blocking sockets to ensure that                                            050630    2009500

   177+***  the session never "hangs".  However, during the connection                                           050630    2009600

   178+***  progress, this can mean that information gets lost.                                                  050630    2009700

   179+***                                                                                                       050630    2009800

   180+***  Define this to wait until after the connection is established                                        050630    2009900

   181+***  before switching the socket to non-blocking.                                                         050630    2010000

   182+D/define HTTP_BLOCK_ON_CONNECT                                                                            050630    2010100

   183+                                                                                                          060221    2010200

   184+***                                                                                                       060221    2010300

   185+*** This determines whether Cookies are turned *ON or *OFF                                                060221    2010400

   186+*** by default.                                                                                           060507    2010500

   187+***                                                                                                       060221    2010600

   188+DHTTP_COOKIE_DEFAULT...                                                                                   060221    2010700

   189+D                 C                   CONST(*ON)                                                          060507    2010800

   190+                                                                                                          050630    2010900

   191+***  This changes whether debugging is on or off by default.                                              041103    2011000

   192+***  You can override this at runtime by calling the http_debug()                                         041103    2011100

   193+***  procedure.                                                                                           041103    2011200

   194+D/undefine DEBUG                                                                                          060323    2011300

   195+DHTTP_DEBUG_FILE  s            500A   varying                                                             041103    2011400

   196+D                                     inz('/tmp/httpapi_debug.txt')                                       041103    2011500

   197+                                                                                                          070125    2011600

   198+***  This changes how memory is allocated.  If defined, HTTPAPI                                           070125    2011700

   199+***  will allocate memory in TERASPACE, thus allowing for very                                            070125    2011800

   200+***  large allocations.                                                                                   070828    2011900

   201+D/undefine USE_TS_MALLOC64                                                                                070828    2012000

   202+D/undefine USE_TS_MALLOC64                                                                                070828    2012100

   203+***  With both turned off (default) up to 16 MB per allocation.                                           070828    2012200

   204+***  WARNING: This is currently experimental!!  If you have                                               070828    2012300

   205+***           problems, make sure TERASPACE is undefined.                                                 070828    2012400

   206+D/undefine TERASPACE                                                                                      070426    2012500

   207+D/undefine USE_TS_MALLOC64                                                                                070828    2012600

   208+                                                                                                          071218    2012700

   209+***  This allows access to V5R3 (or higher) functions in the                                              071218    2012800

   210+***  SSL environment.  Only define this if HTTPAPI will be used                                           071218    2012900

   211+***  on V5R3 or later.                                                                                    071218    2013000

   212+D/define V5R3_GSKIT                                                                                       071218    2013100

   213+                                                                                                          000000    1003800

   214+ *********************************************************************                                    000000    1003900

   215+ **  procedure prototypes                                                                                 000000    1004000

   216+ *********************************************************************                                    000000    1004100

   217+                                                                                                          000000    1004200

   218+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1004300

   219+ *  http_get(): Retrieve an HTTP document                                                                 000000    1004400

   220+ *  http_url_get(): Retrieve an HTTP document                                                             000000    1004500

   221+ *                                                                                                        000000    1004600

   222+ *       peURL = url to grab  (i.e. http://www.blah.com/dir/file.txt)                                     000000    1004700

   223+ *  peFilename = filename in IFS to save response into                                                    000000    1004800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      7

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   224+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1004900

   225+ *          this many seconds.                                                                            000000    1005000

   226+ *  peModTime  = (optional) only get file if it was changed since                                         000000    1005100

   227+ *          this timestamp.                                                                               000000    1005200

   228+ *  peContentType = (optional) content type to supply (mainly                                             000000    1005300

   229+ *          useful when talking to CGI scripts.) To supply the                                            000000    1005400

   230+ *          default value for this parm, you can supply the                                               000000    1005500

   231+ *          HTTP_CONTTYPE constant.                                                                       000000    1005600

   232+ *  peUserAgent = (optional) This specifies the name & version                                            000000    1005700

   233+ *          of your HTTP client to the server.  The server uses                                           000000    1005800

   234+ *          it for statistics and sometimes to restrict pages                                             000000    1005900

   235+ *          so that they're "only for Internet Explorer."                                                 000000    1006000

   236+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1006100

   237+ *          taken by some SOAP applications.                                                              000000    1006200

   238+ *                                                                                                        000000    1006300

   239+ *  Returns  -1 = internal error (check HTTP_ERROR)                                                       000000    1006400

   240+ *            0 = timeout while receiving data or connecting                                              000000    1006500

   241+ *            1 = file retrieved successfully                                                             000000    1006600

   242+ *          > 1 = HTTP response code indicating server's error reply                                      000000    1006700

   243+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1006800

   244+D http_get        PR            10I 0 extproc('HTTP_URL_GET')                                             000000    1006900

   245+D  peURL                     32767A   varying const options(*varsize)                                     000000    1007000

   246+D  peFilename                32767A   varying const options(*varsize)                                     000000    1007100

   247+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1007200

   248+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1007300

   249+D  peModTime                      Z   const options(*nopass:*omit)                                        000000    1007400

   250+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1007500

   251+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1007600

   252+D http_url_get    PR            10I 0                                                                     000000    1007700

   253+D  peURL                     32767A   varying const options(*varsize)                                     000000    1007800

   254+D  peFilename                32767A   varying const options(*varsize)                                     000000    1007900

   255+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1008000

   256+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1008100

   257+D  peModTime                      Z   const options(*nopass:*omit)                                        000000    1008200

   258+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1008300

   259+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1008400

   260+                                                                                                          000000    1008500

   261+                                                                                                          000000    1008600

   262+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1008700

   263+ *  http_url_post(): Post data to CGI script and get document                                             000000    1008800

   264+ *                                                                                                        000000    1008900

   265+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1009000

   266+ *    pePostData = pointer to data to post to CGI script.                                                 000000    1009100

   267+ * pePostDataLen = length of data to post to CGI script.                                                  000000    1009200

   268+ *   peFileName  = Filename in IFS to save response into                                                  000000    1009300

   269+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1009400

   270+ *            this many seconds.                                                                          000000    1009500

   271+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1009600

   272+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1009700

   273+ *            if you want to get the default value.                                                       000000    1009800

   274+ * peContentType = (optional) content type to supply (mainly                                              000000    1009900

   275+ *            useful when talking to CGI scripts)                                                         000000    1010000

   276+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1010100

   277+ *          taken by some SOAP applications.                                                              000000    1010200

   278+ *                                                                                                        000000    1010300

   279+ *  Returns  -1 = internal error (check HTTP_ERROR)                                                       000000    1010400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      8

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   280+ *            0 = timeout while receiving data or connecting                                              000000    1010500

   281+ *            1 = file retrieved successfully                                                             000000    1010600

   282+ *          > 1 = HTTP response code indicating server's error reply                                      000000    1010700

   283+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1010800

   284+D http_post       PR            10I 0 EXTPROC('HTTP_URL_POST')                                            000000    1010900

   285+D  peURL                     32767A   varying const options(*varsize)                                     000000    1011000

   286+D  pePostData                     *   value                                                               000000    1011100

   287+D  pePostDataLen                10I 0 value                                                               000000    1011200

   288+D  peFilename                32767A   varying const options(*varsize)                                     000000    1011300

   289+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1011400

   290+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1011500

   291+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1011600

   292+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1011700

   293+D http_url_post   PR            10I 0                                                                     000000    1011800

   294+D  peURL                     32767A   varying const options(*varsize)                                     000000    1011900

   295+D  pePostData                     *   value                                                               000000    1012000

   296+D  pePostDataLen                10I 0 value                                                               000000    1012100

   297+D  peFilename                32767A   varying const options(*varsize)                                     000000    1012200

   298+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1012300

   299+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1012400

   300+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1012500

   301+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1012600

   302+                                                                                                          000000    1012700

   303+                                                                                                          000000    1012800

   304+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1012900

   305+ *  http_url_get_raw(): Retrieve an HTTP document (in raw mode)                                           000000    1013000

   306+ *                                                                                                        000000    1013100

   307+ *       peURL = url to grab  (i.e. http://www.blah.com/dir/file.txt)                                     000000    1013200

   308+ *       peFD  = FD to pass back to peProc                                                                000000    1013300

   309+ *     peProc  = procedure to call each time data is received.                                            000000    1013400

   310+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1013500

   311+ *          this many seconds.                                                                            000000    1013600

   312+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1013700

   313+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1013800

   314+ *            if you want to get the default value.                                                       000000    1013900

   315+ *  peModTime  = (optiona) only get file if it was changed since                                          000000    1014000

   316+ *          this timestamp.                                                                               000000    1014100

   317+ *  peContentType = (optional) content type to supply (mainly                                             000000    1014200

   318+ *          useful when talking to CGI scripts)                                                           000000    1014300

   319+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1014400

   320+ *          taken by some SOAP applications.                                                              000000    1014500

   321+ *                                                                                                        000000    1014600

   322+ *  Returns  (same as http_url_get)                                                                       000000    1014700

   323+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1014800

   324+D http_url_get_raw...                                                                                     000000    1014900

   325+D                 PR            10I 0                                                                     000000    1015000

   326+D  peURL                     32767A   varying const options(*varsize)                                     000000    1015100

   327+D  peFD                         10I 0 value                                                               000000    1015200

   328+D  peProc                         *   value procptr                                                       000000    1015300

   329+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1015400

   330+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1015500

   331+D  peModTime                      Z   const options(*nopass:*omit)                                        000000    1015600

   332+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1015700

   333+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1015800

   334+                                                                                                          000000    1015900

   335+                                                                                                          000000    1016000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page      9

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   336+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1016100

   337+ *  http_url_post_raw(): Post data to CGI script and get document                                         000000    1016200

   338+ *                                                                                                        000000    1016300

   339+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1016400

   340+ *    pePostData = pointer to data to post to CGI script.                                                 000000    1016500

   341+ * pePostDataLen = length of data to post to CGI script.                                                  000000    1016600

   342+ *         peFD  = FD to pass back to peProc                                                              000000    1016700

   343+ *       peProc  = procedure to call each time data is received.                                          000000    1016800

   344+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1016900

   345+ *            this many seconds.                                                                          000000    1017000

   346+ *  peUserAgent  = (optional) User-Agent string passed to the                                             000000    1017100

   347+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1017200

   348+ *            if you want to get the default value.                                                       000000    1017300

   349+ * peContentType = (optional) content type to supply (mainly                                              000000    1017400

   350+ *            useful when talking to CGI scripts)                                                         000000    1017500

   351+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1017600

   352+ *          taken by some SOAP applications.                                                              000000    1017700

   353+ *                                                                                                        000000    1017800

   354+ *  Returns  (same as http_url_post)                                                                      000000    1017900

   355+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1018000

   356+D http_url_post_raw...                                                                                    000000    1018100

   357+D                 PR            10I 0                                                                     000000    1018200

   358+D  peURL                     32767A   varying const options(*varsize)                                     000000    1018300

   359+D  pePostData                     *   value                                                               000000    1018400

   360+D  pePostDataLen                10I 0 value                                                               000000    1018500

   361+D  peFD                         10I 0 value                                                               000000    1018600

   362+D  peProc                         *   value procptr                                                       000000    1018700

   363+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1018800

   364+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1018900

   365+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1019000

   366+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1019100

   367+                                                                                                          000000    1019200

   368+                                                                                                          000000    1019300

   369+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1019400

   370+ *  http_ParseURL(): Parse URL into it's component parts                                                  000000    1019500

   371+ *                                                                                                        000000    1019600

   372+ *  Breaks a uniform resource locator (URL) into it's component                                           000000    1019700

   373+ *  pieces for use with the http: or https: protocols.  (would also                                       000000    1019800

   374+ *  work for FTP with minor tweaks)                                                                       000000    1019900

   375+ *                                                                                                        000000    1020000

   376+ *  peURL = URL that needs to be parsed.                                                                  000000    1020100

   377+ *  peService = service name from URL (i.e. http or https)                                                000000    1020200

   378+ *  peUserName = user name given, or *blanks                                                              000000    1020300

   379+ *  pePassword = password given, or *blanks                                                               000000    1020400

   380+ *  peHost = hostname given in URL. (could be domain name or IP)                                          000000    1020500

   381+ *  pePort = port number to connect to, if specified, otherwise 0.                                        000000    1020600

   382+ *  pePath = remaining path/request for server.                                                           000000    1020700

   383+ *                                                                                                        000000    1020800

   384+ *  returns -1 upon failure, or 0 upon success                                                            000000    1020900

   385+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1021000

   386+D http_ParseURL   PR            10I 0                                                                     000000    1021100

   387+D  peURL                       256A   const                                                               000000    1021200

   388+D  peService                    32A                                                                       000000    1021300

   389+D  peUserName                   32A                                                                       000000    1021400

   390+D  pePassword                   32A                                                                       000000    1021500

   391+D  peHost                      256A                                                                       000000    1021600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     10

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   392+D  pePort                       10I 0                                                                     000000    1021700

   393+D  pePath                      256A                                                                       000000    1021800

   394+                                                                                                          000000    1021900

   395+                                                                                                          000000    1022000

   396+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1022100

   397+ *  http_build_sockaddr():  Build a socket address structure for a host                                   000000    1022200

   398+ *                                                                                                        000000    1022300

   399+ *        peHost = hostname to build sockaddr_in for                                                      000000    1022400

   400+ *     peService = service name (or port) to build sockaddr_in for                                        000000    1022500

   401+ *   peForcePort = numeric port to force entry to, overrides peService                                    000000    1022600

   402+ *    peSockAddr = pointer to a location to place a sockaddr_in into.                                     000000    1022700

   403+ *             (if *NULL, memory will be allocated, otherwise it will                                     000000    1022800

   404+ *                be re-alloc'ed)                                                                         000000    1022900

   405+ *                                                                                                        000000    1023000

   406+ *   returns -1 upon failure, 0 upon success                                                              000000    1023100

   407+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1023200

   408+D http_build_sockaddr...                                                                                  000000    1023300

   409+D                 PR            10I 0                                                                     000000    1023400

   410+D   peHost                     256A   const                                                               000000    1023500

   411+D   peService                   32A   const                                                               000000    1023600

   412+D   peForcePort                 10I 0 value                                                               000000    1023700

   413+D   peSockAddr                    *                                                                       000000    1023800

   414+                                                                                                          000000    1023900

   415+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1024000

   416+ *  http_close(): close HTTP connection                                                                   000000    1024100

   417+ *                                                                                                        000000    1024200

   418+ *         peSock = socket to close                                                                       000000    1024300

   419+ *         peComm = comm driver opened with http_select_commdriver()                                      000000    1024400

   420+ *                                                                                                        000000    1024500

   421+ *  returns -1 upon failure, or 0 upon success                                                            000000    1024600

   422+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1024700

   423+D http_close      PR            10I 0                                                                     000000    1024800

   424+D  peSock                       10I 0 value                                                               000000    1024900

   425+D  peComm                         *   value                                                               000000    1025000

   426+                                                                                                          000000    1025100

   427+                                                                                                          000000    1025200

   428+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1025300

   429+ *  http_error():   Return the last error that occurred.                                                  000000    1025400

   430+ *                                                                                                        000000    1025500

   431+ *     peErrorNo = (optional) error number that occurred.                                                 000000    1025600

   432+ *                                                                                                        000000    1025700

   433+ *  Returns the human-readable error message.                                                             000000    1025800

   434+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1025900

   435+D http_error      PR            80A                                                                       000000    1026000

   436+D   peErrorNo                   10I 0 options(*nopass:*omit)                                              000000    1026100

   437+                                                                                                          000000    1026200

   438+ /if defined(HAVE_SSLAPI)                                                                                 000000    1026300

   439+                                                                                                          000000    1026400

   440+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1026500

   441+ * https_init():  Initialize https (HTTP over SSL/TLS) protocol                                           000000    1026600

   442+ *                                                                                                        000000    1026700

   443+ *     peAppID = application ID that you registered program as                                            000000    1026800

   444+ *        in the Digital Certificate Manager                                                              000000    1026900

   445+ *         NOTE: You can pass *BLANKS for this parameter if you                                           000000    1027000

   446+ *               you do not wish to register your application                                             000000    1027100

   447+ *               with the digital certificate manager.                                                    000000    1027200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     11

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   448+ *     peSSLv2 = (optional) Turn SSL version 2 *ON or *OFF                                                000000    1027300

   449+ *     peSSLv3 = (optional) Turn SSL version 3 *ON or *OFF                                                000000    1027400

   450+ *     peTLSv1 = (optional) Turn TLS version 1 *ON or *OFF                                                000000    1027500

   451+ *                                                                                                        000000    1027600

   452+ *   You must pass all of the SSL/TLS flags or none.  If you                                              000000    1027700

   453+ *   do not pass all three flags, they are ignored.                                                       000000    1027800

   454+ *                                                                                                        000000    1027900

   455+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1028000

   456+D https_init      PR            10I 0                                                                     000000    1028100

   457+D  peAppID                     100A   const                                                               000000    1028200

   458+D  peSSLv2                       1N   const options(*nopass)                                              000000    1028300

   459+D  peSSLv3                       1N   const options(*nopass)                                              000000    1028400

   460+D  peTLSv1                       1N   const options(*nopass)                                              000000    1028500

   461+                                                                                                          000000    1028600

   462+                                                                                                          000000    1028700

   463+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1028800

   464+ *  Register your application with the Digital Certificate Manager                                        000000    1028900

   465+ *                                                                                                        000000    1029000

   466+ *    peAppID = application ID.  IBM recommends that you do                                               000000    1029100

   467+ *         something like:  COMPANY_COMPONENT_NAME                                                        000000    1029200

   468+ *         (example:  QIBM_DIRSRV_REPLICATION)                                                            000000    1029300

   469+ *                                                                                                        000000    1029400

   470+ *  peLimitCA = set to *On if you want to only want to allow the                                          000000    1029500

   471+ *         certificate authorities registered in D.C.M., or set to                                        000000    1029600

   472+ *         *Off if you'll manage that yourself.                                                           000000    1029700

   473+ *                                                                                                        000000    1029800

   474+ *   returns 0 for success, or -1 upon failure                                                            000000    1029900

   475+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1030000

   476+D https_dcm_reg   PR            10I 0                                                                     000000    1030100

   477+D  peAppID                     100A   const                                                               000000    1030200

   478+D  peLimitCA                     1N   const                                                               000000    1030300

   479+                                                                                                          000000    1030400

   480+                                                                                                          000000    1030500

   481+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1030600

   482+ * https_cleanup():  Clean up & free storage used by the SSL                                              000000    1030700

   483+ *   environment.                                                                                         000000    1030800

   484+ *                                                                                                        000000    1030900

   485+ *  returns 0 if successful, -1 upon failure                                                              000000    1031000

   486+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1031100

   487+D https_cleanup   PR            10I 0                                                                     000000    1031200

   488+                                                                                                          071218    1031300

   489+                                                                                                          071218    1031400

   490+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1031500

   491+ * https_idname(): Returns a string that describes an SSL certificate                                     071218    1031600

   492+ *                  data element id (for printing/debugging)                                              071218    1031700

   493+ *                                                                                                        071218    1031800

   494+ *       peID = (input) data ID to get name of                                                            071218    1031900

   495+ *                                                                                                        071218    1032000

   496+ * Returns the human-readable name                                                                        071218    1032100

   497+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1032200

   498+D https_idname    PR            50A   varying                                                             071218    1032300

   499+D   peID                        10I 0 value                                                               071218    1032400

   500+                                                                                                          071218    1032500

   501+                                                                                                          071218    1032600

   502+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1032700

   503+ * https_strict(): Force SSL to be strictly validated                                                     071218    1032800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     12

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   504+ *                                                                                                        071218    1032900

   505+ *      peSetting = (input) *ON  = use full validation                                                    071218    1033000

   506+ *                          *OFF = use passthru validation                                                071218    1033100

   507+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     071218    1033200

   508+D https_strict    PR                                                                                      071218    1033300

   509+D   peSetting                    1n   const                                                               071218    1033400

   510+                                                                                                          000000    1033500

   511+ /endif                                                                                                   000000    1033600

   512+                                                                                                          000000    1033700

   513+                                                                                                          000000    1033800

   514+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1033900

   515+ *  http_getauth():   Get HTTP Authentication Information                                                 000000    1034000

   516+ *                                                                                                        000000    1034100

   517+ *   Call this proc after you receive a HTTP_NDAUTH error                                                 000000    1034200

   518+ *   to determine the authentication credentials that are required                                        000000    1034300

   519+ *                                                                                                        000000    1034400

   520+ *  The following parms are returned to your program:                                                     000000    1034500

   521+ *                                                                                                        000000    1034600

   522+ *     peBasic = *ON if BASIC auth is allowed                                                             000000    1034700

   523+ *    peDigest = *ON if MD5 DIGEST auth is allowed                                                        000000    1034800

   524+ *     peRealm = Auth realm.  Present this to the user to identify                                        000000    1034900

   525+ *               which password you're looking for.  For example                                          000000    1035000

   526+ *               if peRealm is "secureserver.com" you might say                                           000000    1035100

   527+ *               "enter password for secureserver.com" to user.                                           000000    1035200

   528+ *                                                                                                        000000    1035300

   529+ *   After getting the userid & password from the user (or database)                                      000000    1035400

   530+ *   you'll need to call http_setauth()                                                                   000000    1035500

   531+ *                                                                                                        000000    1035600

   532+ *  Returns -1 upon error, or 0 if successful                                                             000000    1035700

   533+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1035800

   534+D http_getauth    PR            10I 0                                                                     000000    1035900

   535+D   peBasic                      1N                                                                       000000    1036000

   536+D   peDigest                     1N                                                                       000000    1036100

   537+D   peRealm                    124A                                                                       000000    1036200

   538+                                                                                                          000000    1036300

   539+                                                                                                          000000    1036400

   540+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1036500

   541+ *  http_setauth():   Set HTTP Authentication Information                                                 000000    1036600

   542+ *                                                                                                        000000    1036700

   543+ *     peAuthType = Authentication Type (HTTP_AUTH_BASIC or                                               000000    1036800

   544+ *                     HTTP_AUTH_MD5_DIGEST)                                                              000000    1036900

   545+ *     peUsername = UserName to use                                                                       000000    1037000

   546+ *     pePasswd   = Password to use                                                                       000000    1037100

   547+ *                                                                                                        000000    1037200

   548+ *  Returns -1 upon error, or 0 if successful                                                             000000    1037300

   549+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1037400

   550+D http_setauth    PR            10I 0                                                                     000000    1037500

   551+D   peAuthType                   1A   const                                                               000000    1037600

   552+D   peUsername                  80A   const                                                               000000    1037700

   553+D   pePasswd                  1024A   const                                                               000000    1037800

   554+                                                                                                          000000    1037900

   555+                                                                                                          000000    1038000

   556+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1038100

   557+ *  http_setproxy():   Set HTTP Proxy Address                                                             000000    1038200

   558+ *                                                                                                        000000    1038300

   559+ *     peHost = Proxy host name                                                                           000000    1038400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     13

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   560+ *     psPort = Proxy port                                                                                000000    1038500

   561+ *                                                                                                        000000    1038600

   562+ *  Returns -1 upon error, or 0 if successful                                                             000000    1038700

   563+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1038800

   564+D http_setproxy   PR            10I 0                                                                     000000    1038900

   565+D   peHost                     256A   const                                                               000000    1039000

   566+D   pePort                      10I 0 const                                                               000000    1039100

   567+                                                                                                          000000    1039200

   568+                                                                                                          000000    1039300

   569+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1039400

   570+ *  http_proxy_setauth():   Set HTTP Proxy Authentication Information                                     000000    1039500

   571+ *                                                                                                        000000    1039600

   572+ *     peAuthType = Authentication Type (HTTP_AUTH_NONE or                                                000000    1039700

   573+ *                     HTTP_AUTH_BASIC)                                                                   000000    1039800

   574+ *     peUsername = UserName to use                                                                       000000    1039900

   575+ *     pePasswd   = Password to use                                                                       000000    1040000

   576+ *                                                                                                        000000    1040100

   577+ *  Returns -1 upon error, or 0 if successful                                                             000000    1040200

   578+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1040300

   579+D http_proxy_setauth...                                                                                   000000    1040400

   580+D                 PR            10I 0                                                                     000000    1040500

   581+D   peAuthType                   1A   const                                                               000000    1040600

   582+D   peUsername                  80A   const                                                               000000    1040700

   583+D   pePasswd                  1024A   const                                                               000000    1040800

   584+                                                                                                          000000    1040900

   585+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1041000

   586+ *  http_proxy_getauth():   Get HTTP Proxy Authentication Information                                     000000    1041100

   587+ *                                                                                                        000000    1041200

   588+ *   Call this proc after you receive a HTTP_PXNDAUTH error                                               000000    1041300

   589+ *   to determine the authentication credentials that are required                                        000000    1041400

   590+ *                                                                                                        000000    1041500

   591+ *  The following parms are returned to your program:                                                     000000    1041600

   592+ *                                                                                                        000000    1041700

   593+ *     peBasic = *ON if BASIC auth is allowed                                                             000000    1041800

   594+ *     peRealm = Auth realm.  Present this to the user to identify                                        000000    1041900

   595+ *               which password you're looking for.  For example                                          000000    1042000

   596+ *               if peRealm is "secureproxy.com" you might say                                            000000    1042100

   597+ *               "enter password for secureproxy.com" to user.                                            000000    1042200

   598+ *                                                                                                        000000    1042300

   599+ *   After getting the userid & password from the user (or database)                                      000000    1042400

   600+ *   you'll need to call http_proxy_setauth()                                                             000000    1042500

   601+ *                                                                                                        000000    1042600

   602+ *  Returns -1 upon error, or 0 if successful                                                             000000    1042700

   603+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1042800

   604+D http_proxy_getauth...                                                                                   000000    1042900

   605+D                 PR            10I 0                                                                     000000    1043000

   606+D   peBasic                      1N                                                                       000000    1043100

   607+D   peRealm                    124A                                                                       000000    1043200

   608+                                                                                                          000000    1043300

   609+                                                                                                          000000    1043400

   610+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1043500

   611+ *  http_xproc():  Register a procedure to be called back at                                              000000    1043600

   612+ *                 a given exit point                                                                     000000    1043700

   613+ *                                                                                                        000000    1043800

   614+ *     peExitPoint = exit point.  Should be one of the constants                                          000000    1043900

   615+ *                HTTP_POINT_XXX defined in the HTTPAPI_H member                                          000000    1044000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     14

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   616+ *          peProc = address of procedure to call for this                                                000000    1044100

   617+ *                exit point. (pass *NULL to disable this point)                                          000000    1044200

   618+ *      peUserData = Pointer to user data. This will be passed                                            000000    1044300

   619+ *                to your call-back procedure. You can set it to                                          000000    1044400

   620+ *                *NULL if you don't need/want it.                                                        000000    1044500

   621+ *                                                                                                        000000    1044600

   622+ *  Returns -1 upon error, or 0 if successful                                                             000000    1044700

   623+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1044800

   624+D http_xproc      PR            10I 0                                                                     000000    1044900

   625+D  peExitPoint                  10I 0 value                                                               000000    1045000

   626+D  peProc                         *   procptr value                                                       000000    1045100

   627+D  peUserData                     *   value options(*nopass)                                              000000    1045200

   628+                                                                                                          000000    1045300

   629+                                                                                                          000000    1045400

   630+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1045500

   631+ * http_redir_loc(): Retrieve location provided by a redirect                                             000000    1045600

   632+ *   request.                                                                                             000000    1045700

   633+ *                                                                                                        000000    1045800

   634+ *  returns redirect location, or '' if no redirect was given                                             000000    1045900

   635+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1046000

   636+D http_redir_loc  PR          1024A   varying                                                             000000    1046100

   637+                                                                                                          000000    1046200

   638+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1046300

   639+ * http_url_encoder_new():  Create a URL encoder.                                                         000000    1046400

   640+ *                                                                                                        000000    1046500

   641+ *   returns an (opaque) pointer to the new encoder                                                       000000    1046600

   642+ *           or *NULL upon error.                                                                         000000    1046700

   643+ *                                                                                                        000000    1046800

   644+ * WARNING: To free the memory used by this routine, you MUST                                             000000    1046900

   645+ *          call http_url_encoder_free() after the data is sent.                                          000000    1047000

   646+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1047100

   647+D HTTP_URL_ENCODER...                                                                                     000000    1047200

   648+D                 s               *                                                                       000000    1047300

   649+D http_url_encoder_new...                                                                                 000000    1047400

   650+D                 PR                  like(HTTP_URL_ENCODER)                                              000000    1047500

   651+ /if defined(WEBFORMS)                                                                                    070823    1047600

            LINES EXCLUDED: 3

   652+ /endif                                                                                                   070823    1048000

   653+                                                                                                          000000    1048100

   654+                                                                                                          000000    1048200

   655+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1048300

   656+ * http_url_encoder_addvar():  Add a variable to what's stored                                            000000    1048400

   657+ *          a URL encoder.                                                                                000000    1048500

   658+ *                                                                                                        000000    1048600

   659+ *    peEncoder = pointer to encoder created by the                                                       000000    1048700

   660+ *                  http_url_encoder_new() routine                                                        000000    1048800

   661+ *   peVariable = variable name to add                                                                    000000    1048900

   662+ *       peData = pointer to data to store in variable                                                    000000    1049000

   663+ *   peDataSize = size of data to store in variable                                                       000000    1049100

   664+ *                                                                                                        000000    1049200

   665+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1049300

   666+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1049400

   667+D http_url_encoder_addvar...                                                                              000000    1049500

   668+D                 PR             1N                                                                       000000    1049600

   669+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1049700

   670+D    peVariable                 50A   varying value                                                       000000    1049800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     15

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   671+D    peData                       *   value                                                               000000    1049900

   672+D    peDataSize                 10I 0 value                                                               000000    1050000

   673+ /if defined(WEBFORMS)                                                                                    070823    1050100

            LINES EXCLUDED: 6

   674+ /endif                                                                                                   070823    1050800

   675+                                                                                                          000000    1050900

   676+                                                                                                          000000    1051000

   677+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1051100

   678+ * http_url_encoder_getptr(): Get a pointer to the encoded                                                000000    1051200

   679+ *        data stored in a URL encoder                                                                    000000    1051300

   680+ *                                                                                                        000000    1051400

   681+ *     peEncoder = (input) pointer to encoder                                                             000000    1051500

   682+ *        peData = (output) pointer to encoded data                                                       000000    1051600

   683+ *        peSize = (output) size of encoded data                                                          000000    1051700

   684+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1051800

   685+D http_url_encoder_getptr...                                                                              000000    1051900

   686+D                 PR                                                                                      000000    1052000

   687+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1052100

   688+D    peData                       *                                                                       000000    1052200

   689+D    peSize                     10I 0                                                                     000000    1052300

   690+ /if defined(WEBFORMS)                                                                                    070823    1052400

            LINES EXCLUDED: 5

   691+ /endif                                                                                                   070823    1053000

   692+                                                                                                          000000    1053100

   693+                                                                                                          000000    1053200

   694+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1053300

   695+ * http_url_encoder_getstr(): Get encoded data he encoded                                                 000000    1053400

   696+ *        data stored in a URL encoder as a string                                                        000000    1053500

   697+ *                                                                                                        000000    1053600

   698+ *     peEncoder = (input) pointer to encoder                                                             000000    1053700

   699+ *                                                                                                        000000    1053800

   700+ * NOTE: This routine is much slower than http_url_encoder_getptr()                                       000000    1053900

   701+ *       and is limited to a 32k return value.  It's suitable for                                         000000    1054000

   702+ *       use with data that's added to a URL, such as when                                                000000    1054100

   703+ *       performing a GET request to a web server, but you should                                         000000    1054200

   704+ *       use http_url_encoder_getptr() for POST requests.                                                 000000    1054300

   705+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1054400

   706+D http_url_encoder_getstr...                                                                              000000    1054500

   707+D                 PR         32767A   varying                                                             000000    1054600

   708+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1054700

   709+ /if defined(WEBFORMS)                                                                                    070823    1054800

            LINES EXCLUDED: 4

   710+ /endif                                                                                                   070823    1055300

   711+                                                                                                          000000    1055400

   712+                                                                                                          000000    1055500

   713+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1055600

   714+ * http_url_encoder_free(): free resources allocated by both                                              000000    1055700

   715+ *        http_url_encoder_new() and http_url_encoder_addvar()                                            000000    1055800

   716+ *                                                                                                        000000    1055900

   717+ *     peEncoder = pointer to encoder to free                                                             000000    1056000

   718+ *                                                                                                        000000    1056100

   719+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1056200

   720+ *                                                                                                        000000    1056300

   721+ * WARNING: After calling this, do not use the encoder or                                                 000000    1056400

   722+ *          data returned by http_url_encoder_getptr() again.                                             000000    1056500

   723+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1056600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     16

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   724+D http_url_encoder_free...                                                                                000000    1056700

   725+D                 PR             1N                                                                       000000    1056800

   726+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1056900

   727+ /if defined(WEBFORMS)                                                                                    070823    1057000

            LINES EXCLUDED: 3

   728+ /endif                                                                                                   070823    1057400

   729+                                                                                                          000000    1057500

   730+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1057600

   731+ * http_url_encoder_addvar_s():  Simplified (but limited)                                                 000000    1057700

   732+ *       interface to http_url_encoder_addvar().                                                          000000    1057800

   733+ *                                                                                                        000000    1057900

   734+ *    peEncoder = (input) HTTP_url_encoder object                                                         000000    1058000

   735+ *   peVariable = (input) variable name to set                                                            000000    1058100

   736+ *      peValue = (input) value to set variable to                                                        000000    1058200

   737+ *                                                                                                        000000    1058300

   738+ * Returns *ON if successful, *OFF otherwise                                                              000000    1058400

   739+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1058500

   740+D http_url_encoder_addvar_s...                                                                            000000    1058600

   741+D                 PR             1N                                                                       000000    1058700

   742+D    peEncoder                        like(HTTP_URL_ENCODER) value                                        000000    1058800

   743+D    peVariable                 50A   varying value                                                       000000    1058900

   744+D    peValue                   256A   varying value                                                       000000    1059000

   745+ /if defined(WEBFORMS)                                                                                    070823    1059100

            LINES EXCLUDED: 5

   746+ /endif                                                                                                   070823    1059700

   747+                                                                                                          000000    1059800

   748+                                                                                                          000000    1059900

   749+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1060000

   750+ *  http_long_ParseURL(): Parse URL into it's component parts                                             000000    1060100

   751+ *                                                                                                        000000    1060200

   752+ *  Breaks a uniform resource locator (URL) into it's component                                           000000    1060300

   753+ *  pieces for use with the http: or https: protocols.  (would also                                       000000    1060400

   754+ *  work for FTP with minor tweaks)                                                                       000000    1060500

   755+ *                                                                                                        000000    1060600

   756+ *  peURL = URL that needs to be parsed.                                                                  000000    1060700

   757+ *  peService = service name from URL (i.e. http or https)                                                000000    1060800

   758+ *  peUserName = user name given, or *blanks                                                              000000    1060900

   759+ *  pePassword = password given, or *blanks                                                               000000    1061000

   760+ *  peHost = hostname given in URL. (could be domain name or IP)                                          000000    1061100

   761+ *  pePort = port number to connect to, if specified, otherwise 0.                                        000000    1061200

   762+ *  pePath = remaining path/request for server.                                                           000000    1061300

   763+ *                                                                                                        000000    1061400

   764+ *  returns -1 upon failure, or 0 upon success                                                            000000    1061500

   765+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1061600

   766+d http_long_ParseURL...                                                                                   000000    1061700

   767+D                 PR            10I 0                                                                     000000    1061800

   768+D  peURL                     32767A   varying const options(*varsize)                                     000000    1061900

   769+D  peService                    32A                                                                       000000    1062000

   770+D  peUserName                   32A                                                                       000000    1062100

   771+D  pePassword                   32A                                                                       000000    1062200

   772+D  peHost                      256A                                                                       000000    1062300

   773+D  pePort                       10I 0                                                                     000000    1062400

   774+D  pePath                    32767A   varying                                                             000000    1062500

   775+                                                                                                          000000    1062600

   776+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1062700

   777+ * http_select_commdriver():  Select & initialize communications                                          000000    1062800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     17

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   778+ *    driver.                                                                                             000000    1062900

   779+ *                                                                                                        000000    1063000

   780+ *      peCommType = (input) communications type (http/https)                                             000000    1063100

   781+ *                                                                                                        000000    1063200

   782+ * Returns pointer to comm driver, or *NULL upon failure                                                  000000    1063300

   783+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1063400

   784+D http_select_commdriver...                                                                               000000    1063500

   785+D                 PR              *                                                                       000000    1063600

   786+D   peCommType                  32A   const                                                               000000    1063700

   787+                                                                                                          000000    1063800

   788+                                                                                                          000000    1063900

   789+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1064000

   790+ *  http_url_post_raw2(): Post data to CGI script and get document                                        000000    1064100

   791+ *                                                                                                        000000    1064200

   792+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1064300

   793+ *      pePostFD = descriptor number to pass to pePostProc                                                000000    1064400

   794+ *    pePostProc = procedure to call to get POST data.                                                    000000    1064500

   795+ *     peDataLen = total length of data that will be sent.                                                000000    1064600

   796+ *      peSaveFD = FD to pass back to peSaveProc                                                          000000    1064700

   797+ *    peSaveProc = procedure to call each time data is received.                                          000000    1064800

   798+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1064900

   799+ *            this many seconds.                                                                          000000    1065000

   800+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1065100

   801+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1065200

   802+ *            if you want to get the default value.                                                       000000    1065300

   803+ * peContentType = (optional) content type to supply (mainly                                              000000    1065400

   804+ *            useful when talking to CGI scripts)                                                         000000    1065500

   805+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1065600

   806+ *          taken by some SOAP applications.                                                              000000    1065700

   807+ *                                                                                                        000000    1065800

   808+ *  Returns  -1 upon failure, 0 upon timeout, or an HTTP response code                                    000000    1065900

   809+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1066000

   810+D http_url_post_raw2...                                                                                   000000    1066100

   811+D                 PR            10I 0                                                                     000000    1066200

   812+D  peURL                     32767A   varying const options(*varsize)                                     000000    1066300

   813+D  pePostFD                     10I 0 value                                                               000000    1066400

   814+D  pePostProc                     *   procptr value                                                       000000    1066500

   815+D  peDataLen                    10I 0 value                                                               000000    1066600

   816+D  peSaveFD                     10I 0 value                                                               000000    1066700

   817+D  peSaveProc                     *   value procptr                                                       000000    1066800

   818+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1066900

   819+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1067000

   820+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1067100

   821+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1067200

   822+                                                                                                          000000    1067300

   823+                                                                                                          000000    1067400

   824+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1067500

   825+ *  http_url_post_stmf(): Post data to CGI script from stream file                                        000000    1067600

   826+ *                                                                                                        000000    1067700

   827+ *         peURL = url to post to (http://www.blah.com/cgi-bin/etc)                                       000000    1067800

   828+ *    pePostFile = Filename (in IFS) of file to send to http server                                       000000    1067900

   829+ *    peRecvFile = Filename (in IFS) of stream file containing reply                                      000000    1068000

   830+ *    peTimeout  = (optional) give up if no data is received for                                          000000    1068100

   831+ *            this many seconds.                                                                          000000    1068200

   832+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1068300

   833+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1068400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     18

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   834+ *            if you want to get the default value.                                                       000000    1068500

   835+ * peContentType = (optional) content type to supply (mainly                                              000000    1068600

   836+ *            useful when talking to CGI scripts)                                                         000000    1068700

   837+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1068800

   838+ *          taken by some SOAP applications.                                                              000000    1068900

   839+ *                                                                                                        000000    1069000

   840+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1069100

   841+ *            1 for success, or an HTTP response code                                                     000000    1069200

   842+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1069300

   843+D http_url_post_stmf...                                                                                   000000    1069400

   844+D                 PR            10I 0                                                                     000000    1069500

   845+D  peURL                     32767A   varying const options(*varsize)                                     000000    1069600

   846+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1069700

   847+D  peRecvFile                32767A   varying const options(*varsize)                                     000000    1069800

   848+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1069900

   849+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1070000

   850+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1070100

   851+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1070200

   852+D http_post_stmf  PR            10I 0 extproc('HTTP_URL_POST_STMF')                                       000000    1070300

   853+D  peURL                     32767A   varying const options(*varsize)                                     000000    1070400

   854+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1070500

   855+D  peRecvFile                32767A   varying const options(*varsize)                                     000000    1070600

   856+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1070700

   857+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1070800

   858+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1070900

   859+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1071000

   860+                                                                                                          000000    1071100

   861+                                                                                                          000000    1071200

   862+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1071300

   863+ * http_get_xml();                                                                                        000000    1071400

   864+ * http_url_get_xml():  Send a GET request to an HTTP server and                                          000000    1071500

   865+ *     receive/parse an XML response.                                                                     000000    1071600

   866+ *                                                                                                        000000    1071700

   867+ *       peURL = (input) URL to perform GET request to                                                    000000    1071800

   868+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1071900

   869+ *                       of each XML element received.                                                    000000    1072000

   870+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1072100

   871+ *                       of each XML element received.                                                    000000    1072200

   872+ *    peUsrDta = (input) user-defined data that will be passed to the                                     000000    1072300

   873+ *                    call-back routine                                                                   000000    1072400

   874+ *                                                                                                        000000    1072500

   875+ * (other parms are identical to those in HTTP_url_get())                                                 000000    1072600

   876+ *                                                                                                        000000    1072700

   877+ * peStartProc should point to a procedure with a procedure                                               000000    1072800

   878+ * interface that's compatable with the following:                                                        000000    1072900

   879+ *                                                                                                        000000    1073000

   880+ *  D StartProc       PR                                                                                  000000    1073100

   881+ *  D   userdata                      *   value                                                           000000    1073200

   882+ *  D   depth                       10I 0 value                                                           000000    1073300

   883+ *  D   name                      1024A   varying const                                                   000000    1073400

   884+ *  D   path                     24576A   varying const                                                   000000    1073500

   885+ *  D   attrs                         *   dim(32767)                                                      000000    1073600

   886+ *  D                                     const options(*varsize)                                         000000    1073700

   887+ *                                                                                                        000000    1073800

   888+ * peEndProc should point to a procedure with a procedure                                                 000000    1073900

   889+ * interface that's compatable with the following:                                                        000000    1074000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     19

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   890+ *                                                                                                        000000    1074100

   891+ *  D EndProc         PR                                                                                  000000    1074200

   892+ *  D   userdata                      *   value                                                           000000    1074300

   893+ *  D   depth                       10I 0 value                                                           000000    1074400

   894+ *  D   name                      1024A   varying const                                                   000000    1074500

   895+ *  D   path                     24576A   varying const                                                   000000    1074600

   896+ *  D   value                    32767A   varying const                                                   000000    1074700

   897+ *  D   attrs                         *   dim(32767)                                                      000000    1074800

   898+ *  D                                     const options(*varsize)                                         000000    1074900

   899+ *                                                                                                        000000    1075000

   900+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1075100

   901+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1075200

   902+D http_get_xml...                                                                                         000000    1075300

   903+D                 PR            10I 0 EXTPROC('HTTP_URL_GET_XML')                                         000000    1075400

   904+D  peURL                     32767A   varying const options(*varsize)                                     000000    1075500

   905+D  peStartProc                    *   value procptr                                                       000000    1075600

   906+D  peEndProc                      *   value procptr                                                       000000    1075700

   907+D  peUsrDta                       *   value                                                               000000    1075800

   908+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1075900

   909+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1076000

   910+D  peModTime                      Z   const options(*nopass:*omit)                                        000000    1076100

   911+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1076200

   912+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1076300

   913+D http_url_get_xml...                                                                                     000000    1076400

   914+D                 PR            10I 0                                                                     000000    1076500

   915+D  peURL                     32767A   varying const options(*varsize)                                     000000    1076600

   916+D  peStartProc                    *   value procptr                                                       000000    1076700

   917+D  peEndProc                      *   value procptr                                                       000000    1076800

   918+D  peUsrDta                       *   value                                                               000000    1076900

   919+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1077000

   920+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1077100

   921+D  peModTime                      Z   const options(*nopass:*omit)                                        000000    1077200

   922+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1077300

   923+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1077400

   924+                                                                                                          000000    1077500

   925+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1077600

   926+ *  http_get_xmltf(): Request URL from server. Receive response                                           000000    1077700

   927+ *        to temporary file, then parse it.                                                               000000    1077800

   928+ *                                                                                                        000000    1077900

   929+ *       peURL = (input) URL to perform GET request to                                                    000000    1078000

   930+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1078100

   931+ *                       of each XML element received.                                                    000000    1078200

   932+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1078300

   933+ *                       of each XML element received.                                                    000000    1078400

   934+ *    peUsrDta = (input) user-defined data that will be passed to the                                     000000    1078500

   935+ *                    call-back routine                                                                   000000    1078600

   936+ *                                                                                                        000000    1078700

   937+ * (other parms are identical to those in HTTP_url_get())                                                 000000    1078800

   938+ *                                                                                                        000000    1078900

   939+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1079000

   940+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1079100

   941+D http_get_xmltf...                                                                                       000000    1079200

   942+D                 PR            10I 0                                                                     000000    1079300

   943+D  peURL                     32767A   varying const options(*varsize)                                     000000    1079400

   944+D  peStartProc                    *   value procptr                                                       000000    1079500

   945+D  peEndProc                      *   value procptr                                                       000000    1079600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     20

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

   946+D  peUsrDta                       *   value                                                               000000    1079700

   947+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1079800

   948+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1079900

   949+D  peModTime                      Z   const options(*nopass:*omit)                                        000000    1080000

   950+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1080100

   951+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1080200

   952+                                                                                                          000000    1080300

   953+                                                                                                          000000    1080400

   954+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1080500

   955+ * http_post_xml();                                                                                       000000    1080600

   956+ * http_url_post_xml():  Send a POST request to an HTTP server and                                        000000    1080700

   957+ *     receive/parse an XML response.                                                                     000000    1080800

   958+ *                                                                                                        000000    1080900

   959+ *          peURL = (input) URL to perform GET request to                                                 000000    1081000

   960+ *     pePostData = (input) data to POST to the web server                                                000000    1081100

   961+ *  pePostDataLen = (input) length of pePostData                                                          000000    1081200

   962+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1081300

   963+ *                       of each XML element received.                                                    000000    1081400

   964+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1081500

   965+ *                       of each XML element received.                                                    000000    1081600

   966+ *       peUsrDta = (input) user-defined data that will be passed                                         000000    1081700

   967+ *                          to the call-back routine                                                      000000    1081800

   968+ *                                                                                                        000000    1081900

   969+ * (other parms are identical to those in HTTP_url_post())                                                000000    1082000

   970+ *                                                                                                        000000    1082100

   971+ * peStartProc should point to a procedure with a procedure                                               000000    1082200

   972+ * interface that's compatable with the following:                                                        000000    1082300

   973+ *                                                                                                        000000    1082400

   974+ *  D StartProc       PR                                                                                  000000    1082500

   975+ *  D   userdata                      *   value                                                           000000    1082600

   976+ *  D   depth                       10I 0 value                                                           000000    1082700

   977+ *  D   name                      1024A   varying const                                                   000000    1082800

   978+ *  D   path                     24576A   varying const                                                   000000    1082900

   979+ *  D   attrs                         *   dim(32767)                                                      000000    1083000

   980+ *  D                                     const options(*varsize)                                         000000    1083100

   981+ *                                                                                                        000000    1083200

   982+ * peEndProc should point to a procedure with a procedure                                                 000000    1083300

   983+ * interface that's compatable with the following:                                                        000000    1083400

   984+ *                                                                                                        000000    1083500

   985+ *  D EndProc         PR                                                                                  000000    1083600

   986+ *  D   userdata                      *   value                                                           000000    1083700

   987+ *  D   depth                       10I 0 value                                                           000000    1083800

   988+ *  D   name                      1024A   varying const                                                   000000    1083900

   989+ *  D   path                     24576A   varying const                                                   000000    1084000

   990+ *  D   value                    32767A   varying const                                                   000000    1084100

   991+ *  D   attrs                         *   dim(32767)                                                      000000    1084200

   992+ *  D                                     const options(*varsize)                                         000000    1084300

   993+ *                                                                                                        000000    1084400

   994+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1084500

   995+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1084600

   996+D http_post_xml...                                                                                        000000    1084700

   997+D                 PR            10I 0 EXTPROC('HTTP_URL_POST_XML')                                        000000    1084800

   998+D  peURL                     32767A   varying const options(*varsize)                               1     070724    1084900

   999+D  pePostData                     *   value                                                         2     070724    1085000

  1000+D  pePostDataLen                10I 0 value                                                         3     070724    1085100

  1001+D  peStartProc                    *   value procptr                                                 4     070724    1085200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     21

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1002+D  peEndProc                      *   value procptr                                                 5     070724    1085300

  1003+D  peUsrDta                       *   value                                                         6     070724    1085400

  1004+D  peTimeout                    10I 0 value options(*nopass)                                        7     070724    1085500

  1005+D  peUserAgent                  64A   const options(*nopass:*omit)                                  8     070724    1085600

  1006+D  peContentType                64A   const options(*nopass:*omit)                                  9     070724    1085700

  1007+D  peSOAPAction                 64A   const options(*nopass:*omit)                                  10    070724    1085800

  1008+D http_url_post_xml...                                                                                    000000    1085900

  1009+D                 PR            10I 0                                                                     000000    1086000

  1010+D  peURL                     32767A   varying const options(*varsize)                                     000000    1086100

  1011+D  pePostData                     *   value                                                               000000    1086200

  1012+D  pePostDataLen                10I 0 value                                                               000000    1086300

  1013+D  peStartProc                    *   value procptr                                                       000000    1086400

  1014+D  peEndProc                      *   value procptr                                                       000000    1086500

  1015+D  peUsrDta                       *   value                                                               000000    1086600

  1016+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1086700

  1017+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1086800

  1018+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1086900

  1019+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1087000

  1020+                                                                                                          000000    1087100

  1021+                                                                                                          000000    1087200

  1022+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1087300

  1023+ *  http_post_xmltf(): Post data from memory. Receive                                                     000000    1087400

  1024+ *        response to temporary file, then parse it.                                                      000000    1087500

  1025+ *                                                                                                        000000    1087600

  1026+ *          peURL = (input) URL to perform GET request to                                                 000000    1087700

  1027+ *     pePostData = (input) data to POST to the web server                                                000000    1087800

  1028+ *  pePostDataLen = (input) length of pePostData                                                          000000    1087900

  1029+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1088000

  1030+ *                       of each XML element received.                                                    000000    1088100

  1031+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1088200

  1032+ *                       of each XML element received.                                                    000000    1088300

  1033+ *       peUsrDta = (input) user-defined data that will be passed                                         000000    1088400

  1034+ *                          to the call-back routine                                                      000000    1088500

  1035+ *                                                                                                        000000    1088600

  1036+ * (other parms are identical to those in HTTP_url_post())                                                000000    1088700

  1037+ *                                                                                                        000000    1088800

  1038+ *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  000000    1088900

  1039+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       000000    1089000

  1040+D http_post_xmltf...                                                                                      000000    1089100

  1041+D                 PR            10I 0                                                                     000000    1089200

  1042+D  peURL                     32767A   varying const options(*varsize)                                     000000    1089300

  1043+D  pePostData                     *   value                                                               000000    1089400

  1044+D  pePostDataLen                10I 0 value                                                               000000    1089500

  1045+D  peStartProc                    *   value procptr                                                       000000    1089600

  1046+D  peEndProc                      *   value procptr                                                       000000    1089700

  1047+D  peUsrDta                       *   value                                                               000000    1089800

  1048+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1089900

  1049+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1090000

  1050+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1090100

  1051+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1090200

  1052+                                                                                                          000000    1090300

  1053+                                                                                                          000000    1090400

  1054+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1090500

  1055+ *  http_post_stmf_xml();                                                                                 000000    1090600

  1056+ *  http_url_post_stmf_xml(): Post data to CGI script from stream file                                    000000    1090700

  1057+ *        and receive/parse an XML response                                                               000000    1090800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     22

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1058+ *                                                                                                        000000    1090900

  1059+ *       peURL = (input) URL to post to                                                                   000000    1091000

  1060+ *  pePostFile = (input) File of stream file (in IFS) to post                                             000000    1091100

  1061+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1091200

  1062+ *                       of each XML element received.                                                    000000    1091300

  1063+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1091400

  1064+ *                       of each XML element received.                                                    000000    1091500

  1065+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1091600

  1066+ *                          to the call-back routine                                                      000000    1091700

  1067+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1091800

  1068+ *                       this many seconds.                                                               000000    1091900

  1069+ * peUserAgent = (optional) User-Agent string passed to the                                               000000    1092000

  1070+ *            server.  Pass the named constant HTTP_USERAGENT                                             000000    1092100

  1071+ *            if you want to get the default value.                                                       000000    1092200

  1072+ * peContentType = (optional) content type to supply (mainly                                              000000    1092300

  1073+ *                       useful when talking to CGI scripts)                                              000000    1092400

  1074+ *  peSOAPAction = (optional) string used to specify the action                                           000000    1092500

  1075+ *          taken by some SOAP applications.                                                              000000    1092600

  1076+ *                                                                                                        000000    1092700

  1077+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1092800

  1078+ *            1 for success, or an HTTP response code                                                     000000    1092900

  1079+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1093000

  1080+D http_post_stmf_xml...                                                                                   000000    1093100

  1081+D                 PR            10I 0 extproc('HTTP_URL_POST_STMF_XML')                                   000000    1093200

  1082+D  peURL                     32767A   varying const options(*varsize)                                     000000    1093300

  1083+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1093400

  1084+D  peStartProc                    *   value procptr                                                       000000    1093500

  1085+D  peEndProc                      *   value procptr                                                       000000    1093600

  1086+D  peUsrDta                       *   value                                                               000000    1093700

  1087+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1093800

  1088+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1093900

  1089+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1094000

  1090+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1094100

  1091+D http_url_post_stmf_xml...                                                                               000000    1094200

  1092+D                 PR            10I 0                                                                     000000    1094300

  1093+D  peURL                     32767A   varying const options(*varsize)                                     000000    1094400

  1094+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1094500

  1095+D  peStartProc                    *   value procptr                                                       000000    1094600

  1096+D  peEndProc                      *   value procptr                                                       000000    1094700

  1097+D  peUsrDta                       *   value                                                               000000    1094800

  1098+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1094900

  1099+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1095000

  1100+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1095100

  1101+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1095200

  1102+                                                                                                          000000    1095300

  1103+                                                                                                          000000    1095400

  1104+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1095500

  1105+ *  http_post_stmf_xmltf(): Post data from stream file.  Receive                                          000000    1095600

  1106+ *        response to temporary file, then parse it.                                                      000000    1095700

  1107+ *                                                                                                        000000    1095800

  1108+ *       peURL = (input) URL to post to                                                                   000000    1095900

  1109+ *  pePostFile = (input) File of stream file (in IFS) to post                                             000000    1096000

  1110+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1096100

  1111+ *                       of each XML element received.                                                    000000    1096200

  1112+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1096300

  1113+ *                       of each XML element received.                                                    000000    1096400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     23

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1114+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1096500

  1115+ *                          to the call-back routine                                                      000000    1096600

  1116+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1096700

  1117+ *                       this many seconds.                                                               000000    1096800

  1118+ * peContentType = (optional) content type to supply (mainly                                              000000    1096900

  1119+ *                       useful when talking to CGI scripts)                                              000000    1097000

  1120+ *                                                                                                        000000    1097100

  1121+ *  Returns  -1 upon failure, 0 upon timeout,                                                             000000    1097200

  1122+ *            1 for success, or an HTTP response code                                                     000000    1097300

  1123+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1097400

  1124+D http_post_stmf_xmltf...                                                                                 000000    1097500

  1125+D                 PR            10I 0                                                                     000000    1097600

  1126+D  peURL                     32767A   varying const options(*varsize)                                     000000    1097700

  1127+D  pePostFile                32767A   varying const options(*varsize)                                     000000    1097800

  1128+D  peStartProc                    *   value procptr                                                       000000    1097900

  1129+D  peEndProc                      *   value procptr                                                       000000    1098000

  1130+D  peUsrDta                       *   value                                                               000000    1098100

  1131+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1098200

  1132+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1098300

  1133+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1098400

  1134+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1098500

  1135+                                                                                                          000000    1098600

  1136+                                                                                                          000000    1098700

  1137+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1098800

  1138+ *  http_persist_open(): Open a persistent HTTP session                                                   000000    1098900

  1139+ *                                                                                                        000000    1099000

  1140+ *       peURL = url to connect to                                                                        000000    1099100

  1141+ *  peTimeout  = (optional) give up if no data is received for                                            000000    1099200

  1142+ *          this many seconds.                                                                            000000    1099300

  1143+ *                                                                                                        000000    1099400

  1144+ *  Returns *NULL upon failure, or                                                                        000000    1099500

  1145+ *          pointer to HTTP communication session                                                         000000    1099600

  1146+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1099700

  1147+D http_persist_open...                                                                                    000000    1099800

  1148+D                 PR              *                                                                       000000    1099900

  1149+D  peURL                     32767A   varying const options(*varsize)                                     000000    1100000

  1150+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1100100

  1151+                                                                                                          000000    1100200

  1152+                                                                                                          000000    1100300

  1153+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1100400

  1154+ *  http_persist_get(): Get a file using a persistent HTTP session                                        000000    1100500

  1155+ *                                                                                                        000000    1100600

  1156+ *         peComm = (input) pointer to persistent HTTP comm session                                       000000    1100700

  1157+ *          peURL = (input) URL to get from persistent HTTP                                               000000    1100800

  1158+ *           peFD = (input) FD to pass back to peProc                                                     000000    1100900

  1159+ *         peProc = (input) procedure to call each time data is                                           000000    1101000

  1160+ *                          received.                                                                     000000    1101100

  1161+ *      peTimeout = (input/optional) time-out when no data is received                                    000000    1101200

  1162+ *                          for this many seconds.                                                        000000    1101300

  1163+ *    peUserAgent = (optional) User-Agent string passed to the                                            000000    1101400

  1164+ *                          server.  Pass the named constant called                                       000000    1101500

  1165+ *                          HTTP_USERAGENT if you want to get the                                         000000    1101600

  1166+ *                          default value.                                                                000000    1101700

  1167+ *      peModTime = (input/optional) only get file if it was changed                                      000000    1101800

  1168+ *                          since this timestamp.                                                         000000    1101900

  1169+ *  peContentType = (input/optional) content type to supply (mainly                                       000000    1102000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     24

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1170+ *                          useful when talking to CGI scripts)                                           000000    1102100

  1171+ *   peSOAPAction = (input/optional) string to send in the SOAPAction:                                    000000    1102200

  1172+ *                          HTTP header when making a SOAP request.                                       000000    1102300

  1173+ *                                                                                                        000000    1102400

  1174+ *  Returns  1 if successful,                                                                             000000    1102500

  1175+ *           0 if timed out                                                                               000000    1102600

  1176+ *          -1 if an internal error occurs                                                                000000    1102700

  1177+ *          or an HTTP response code if an error comes from the server                                    000000    1102800

  1178+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1102900

  1179+D http_persist_get...                                                                                     000000    1103000

  1180+D                 PR            10I 0                                                                     000000    1103100

  1181+D  peComm                         *   value                                                               000000    1103200

  1182+D  peURL                     32767A   varying const options(*varsize)                                     000000    1103300

  1183+D  peFD                         10I 0 value                                                               000000    1103400

  1184+D  peProc                         *   value procptr                                                       000000    1103500

  1185+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1103600

  1186+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1103700

  1187+D  peModTime                      Z   const options(*nopass:*omit)                                        000000    1103800

  1188+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1103900

  1189+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1104000

  1190+                                                                                                          000000    1104100

  1191+                                                                                                          000000    1104200

  1192+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1104300

  1193+ *  http_persist_post(): Post data to CGI script and get document                                         000000    1104400

  1194+ *                       using a persistent connection                                                    000000    1104500

  1195+ *                                                                                                        000000    1104600

  1196+ *         peComm = (input) pointer to persistent HTTP comm session                                       000000    1104700

  1197+ *          peURL = (input) URL to post to with persistent HTTP                                           000000    1104800

  1198+ * --------                                                                                               000000    1104900

  1199+ *       pePostFD = (input) Opaque integer to pass to pePostProc                                          000000    1105000

  1200+ *     pePostProc = (input) Pointer to call-back procedure for                                            000000    1105100

  1201+ *                          posting data to server.  If you pass                                          000000    1105200

  1202+ *                          *NULL for this, you should use pePostData                                     000000    1105300

  1203+ *                          instead.                                                                      000000    1105400

  1204+ * -- or --                                                                                               000000    1105500

  1205+ *     pePostData = (input) Pointer to data to post.  If you pass                                         000000    1105600

  1206+ *                          *NULL for this, you should use pePostProc                                     000000    1105700

  1207+ *                          instead.                                                                      000000    1105800

  1208+ * --------                                                                                               000000    1105900

  1209+ *  pePostDataLen = (input) Total length, in bytes, of post data.                                         000000    1106000

  1210+ *       peSaveFD = (input) Opaque integer passed to peSaveProc                                           000000    1106100

  1211+ *     peSaveProc = (input) Pointer to call-back procedure that is                                        000000    1106200

  1212+ *                          called when data is received from HTTP                                        000000    1106300

  1213+ *                          server.                                                                       000000    1106400

  1214+ *      peTimeout = (input/optional) time-out when no data is received                                    000000    1106500

  1215+ *                          for this many seconds.                                                        000000    1106600

  1216+ *    peUserAgent = (optional) User-Agent string passed to the                                            000000    1106700

  1217+ *                          server.  Pass the named constant called                                       000000    1106800

  1218+ *                          HTTP_USERAGENT if you want to get the                                         000000    1106900

  1219+ *                          default value.                                                                000000    1107000

  1220+ *  peContentType = (input/optional) content type to supply (mainly                                       000000    1107100

  1221+ *                          useful when talking to CGI scripts)                                           000000    1107200

  1222+ *   peSOAPAction = (input/optional) string to send in the SOAPAction:                                    000000    1107300

  1223+ *                          HTTP header when making a SOAP request.                                       000000    1107400

  1224+ *                                                                                                        000000    1107500

  1225+ *  Returns  1 if successful,                                                                             000000    1107600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     25

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1226+ *           0 if timed out                                                                               000000    1107700

  1227+ *          -1 if an internal error occurs                                                                000000    1107800

  1228+ *          or an HTTP response code if an error comes from the server                                    000000    1107900

  1229+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1108000

  1230+D http_persist_post...                                                                                    000000    1108100

  1231+D                 PR            10I 0                                                                     000000    1108200

  1232+D  peComm                         *   value                                                               000000    1108300

  1233+D  peURL                     32767A   varying const options(*varsize)                                     000000    1108400

  1234+D  pePostFD                     10I 0 value                                                               000000    1108500

  1235+D  pePostProc                     *   value procptr                                                       000000    1108600

  1236+D  pePostData                     *   value                                                               000000    1108700

  1237+D  pePostDataLen                10I 0 value                                                               000000    1108800

  1238+D  peSaveFD                     10I 0 value                                                               000000    1108900

  1239+D  peSaveProc                     *   value procptr                                                       000000    1109000

  1240+D  peTimeout                    10I 0 value options(*nopass)                                              000000    1109100

  1241+D  peUserAgent                  64A   const options(*nopass:*omit)                                        000000    1109200

  1242+D  peContentType                64A   const options(*nopass:*omit)                                        000000    1109300

  1243+D  peSOAPAction                 64A   const options(*nopass:*omit)                                        000000    1109400

  1244+                                                                                                          000000    1109500

  1245+                                                                                                          000000    1109600

  1246+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1109700

  1247+ *  http_persist_close(): End a persistent HTTP session                                                   000000    1109800

  1248+ *                                                                                                        000000    1109900

  1249+ *     peComm = (input) pointer to persistent HTTP comm session                                           000000    1110000

  1250+ *                                                                                                        000000    1110100

  1251+ *  returns 0 if successful, -1 otherwise                                                                 000000    1110200

  1252+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1110300

  1253+D http_persist_close...                                                                                   000000    1110400

  1254+D                 PR            10I 0                                                                     000000    1110500

  1255+D  peComm                         *   value                                                               000000    1110600

  1256+                                                                                                          000000    1110700

  1257+                                                                                                          000000    1110800

  1258+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1110900

  1259+ * http_mfd_encoder_open(): Create a multipart/form-data encoder                                          000000    1111000

  1260+ *                                                                                                        000000    1111100

  1261+ * A multipart/form-data encoder will encode the variables                                                000000    1111200

  1262+ * and or stream files that you pass to it and store the results                                          000000    1111300

  1263+ * in a stream file.  You can later POST those results with the                                           000000    1111400

  1264+ * http_url_post_stmf() API.                                                                              000000    1111500

  1265+ *                                                                                                        000000    1111600

  1266+ *   peStmFile = (input) pathname to stream file to store                                                 000000    1111700

  1267+ *               encoded results.                                                                         000000    1111800

  1268+ *                                                                                                        000000    1111900

  1269+ *   returns an (opaque) pointer to the new encoder                                                       000000    1112000

  1270+ *           or *NULL upon error.                                                                         000000    1112100

  1271+ *                                                                                                        000000    1112200

  1272+ * WARNING: To free the memory used by this routine and close                                             000000    1112300

  1273+ *          the stream file, you MUST call http_mfd_encoder_close()                                       000000    1112400

  1274+ *          after the data is sent.                                                                       000000    1112500

  1275+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1112600

  1276+D http_mfd_encoder_open...                                                                                000000    1112700

  1277+D                 PR              *                                                                       000000    1112800

  1278+D  peStmFile                      *   value options(*string)                                              000000    1112900

  1279+D  peContType                   64A                                                                       000000    1113000

  1280+                                                                                                          000000    1113100

  1281+                                                                                                          000000    1113200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     26

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1282+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1113300

  1283+ * http_mfd_encoder_addvar():  Add a variable to what's stored                                            000000    1113400

  1284+ *          a multipart/form-data encoder.                                                                000000    1113500

  1285+ *                                                                                                        000000    1113600

  1286+ *    peEncoder = pointer to encoder created by the                                                       000000    1113700

  1287+ *                  http_mfd_encoder_open() routine                                                       000000    1113800

  1288+ *   peVariable = variable name to add                                                                    000000    1113900

  1289+ *       peData = pointer to data to store in variable                                                    000000    1114000

  1290+ *   peDataSize = size of data to store in variable                                                       000000    1114100

  1291+ *                                                                                                        000000    1114200

  1292+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1114300

  1293+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1114400

  1294+D http_mfd_encoder_addvar...                                                                              000000    1114500

  1295+D                 PR             1N                                                                       000000    1114600

  1296+D    peEncoder                    *   value                                                               000000    1114700

  1297+D    peVariable                 50A   varying value                                                       000000    1114800

  1298+D    peData                       *   value                                                               000000    1114900

  1299+D    peDataSize                 10I 0 value                                                               000000    1115000

  1300+                                                                                                          000000    1115100

  1301+                                                                                                          000000    1115200

  1302+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1115300

  1303+ * http_mfd_encoder_addvar_s():  Simplified (but limited)                                                 000000    1115400

  1304+ *       interface to http_mfd_encoder_addvar().                                                          000000    1115500

  1305+ *                                                                                                        000000    1115600

  1306+ *    peEncoder = (input) HTTP_mfd_encoder object                                                         000000    1115700

  1307+ *   peVariable = (input) variable name to set                                                            000000    1115800

  1308+ *      peValue = (input) value to set variable to                                                        000000    1115900

  1309+ *                                                                                                        000000    1116000

  1310+ * Returns *ON if successful, *OFF otherwise                                                              000000    1116100

  1311+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1116200

  1312+D http_mfd_encoder_addvar_s...                                                                            000000    1116300

  1313+D                 PR             1N                                                                       000000    1116400

  1314+D    peEncoder                    *   value                                                               000000    1116500

  1315+D    peVariable                 50A   varying value                                                       000000    1116600

  1316+D    peValue                   256A   varying value                                                       000000    1116700

  1317+                                                                                                          000000    1116800

  1318+                                                                                                          000000    1116900

  1319+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1117000

  1320+ * http_mfd_encoder_addstmf(): Add a stream file to what's stored                                         000000    1117100

  1321+ *       in a multipart/form-data encoder.                                                                000000    1117200

  1322+ *                                                                                                        000000    1117300

  1323+ *    peEncoder = pointer to encoder created by the                                                       000000    1117400

  1324+ *                  http_mfd_encoder_open() routine                                                       000000    1117500

  1325+ *   peVariable = variable name to add                                                                    000000    1117600

  1326+ *   pePathName = Path name of stream file to add                                                         000000    1117700

  1327+ *   peContType = Content-type of stream file to add                                                      000000    1117800

  1328+ *                                                                                                        000000    1117900

  1329+ * Returns *ON if successful, *OFF otherwise.                                                             000000    1118000

  1330+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1118100

  1331+D http_mfd_encoder_addstmf...                                                                             000000    1118200

  1332+D                 PR             1N                                                                       000000    1118300

  1333+D    peEncoder                    *   value                                                               000000    1118400

  1334+D    peVariable                 50A   varying value                                                       000000    1118500

  1335+D    pePathName                   *   value options(*string)                                              000000    1118600

  1336+D    peContType                 64A   varying const                                                       000000    1118700

  1337+                                                                                                          000000    1118800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     27

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1338+                                                                                                          000000    1118900

  1339+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1119000

  1340+ * http_mfd_encoder_close():  close an open multipart/form-data                                           000000    1119100

  1341+ *                            encoder.                                                                    000000    1119200

  1342+ *                                                                                                        000000    1119300

  1343+ *     peEncoder = (input) encoder to close                                                               000000    1119400

  1344+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1119500

  1345+D http_mfd_encoder_close...                                                                               000000    1119600

  1346+D                 PR                                                                                      000000    1119700

  1347+D  peEncoder                      *   value                                                               000000    1119800

  1348+                                                                                                          000000    1119900

  1349+                                                                                                          000000    1120000

  1350+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1120100

  1351+ * http_debug():  Turn debugging info *ON or *OFF                                                         000000    1120200

  1352+ *                                                                                                        000000    1120300

  1353+ *      peStatus = (input) status (either *ON or *OFF)                                                    000000    1120400

  1354+ *                                                                                                        000000    1120500

  1355+ *    peFilename = (input/optional) filename that debug info will be                                      000000    1120600

  1356+ *                    written to.  If not defined, the value from                                         000000    1120700

  1357+ *                    CONFIG_H is used.                                                                   000000    1120800

  1358+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1120900

  1359+D http_debug      PR                                                                                      000000    1121000

  1360+D   peStatus                     1N   const                                                               000000    1121100

  1361+D   peFilename                 500A   varying const options(*nopass)                                      000000    1121200

  1362+                                                                                                          000000    1121300

  1363+                                                                                                          000000    1121400

  1364+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1121500

  1365+ * HTTP_SetCCSIDs():  Set the CCSIDs used for ASCII/EBCDIC                                                000000    1121600

  1366+ *                    translation                                                                         000000    1121700

  1367+ *                                                                                                        000000    1121800

  1368+ *     pePostRem = (input) Remote CCSID of POST data                                                      000000    1121900

  1369+ *     pePostLoc = (input) Local CCSID of POST data                                                       000000    1122000

  1370+ *     peProtRem = (input) Remote CCSID of Protocol data                                                  000000    1122100

  1371+ *     peProtLoc = (input) Local CCSID of Protocol data                                                   000000    1122200

  1372+ *                                                                                                        000000    1122300

  1373+ * Returns 0 if successful, -1 otherwise                                                                  000000    1122400

  1374+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1122500

  1375+D HTTP_SetCCSIDs  PR            10I 0                                                                     000000    1122600

  1376+D   pePostRem                   10I 0 value                                                               000000    1122700

  1377+D   pePostLoc                   10I 0 value                                                               000000    1122800

  1378+D   peProtRem                   10I 0 value options(*nopass)                                              000000    1122900

  1379+D   peProtLoc                   10I 0 value options(*nopass)                                              000000    1123000

  1380+                                                                                                          000000    1123100

  1381+                                                                                                          000000    1123200

  1382+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1123300

  1383+ * HTTP_SetTables():  Set the translation tables used for                                                 000000    1123400

  1384+ *                    ASCII/EBCDIC translation                                                            000000    1123500

  1385+ *                                                                                                        000000    1123600

  1386+ *     peASCII  = (input) Table for converting to ASCII                                                   000000    1123700

  1387+ *     peEBCDIC = (input) Table for converting to EBCDIC                                                  000000    1123800

  1388+ *                                                                                                        000000    1123900

  1389+ * Returns 0 if successful, -1 otherwise                                                                  000000    1124000

  1390+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1124100

  1391+D HTTP_SetTables  PR            10I 0                                                                     000000    1124200

  1392+D   peASCII                     10A   const                                                               000000    1124300

  1393+D   peEBCDIC                    10A   const                                                               000000    1124400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     28

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1394+                                                                                                          000000    1124500

  1395+                                                                                                          000000    1124600

  1396+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1124700

  1397+ * HTTP_SetFileCCSID(): Set the CCSID that downloaded stream                                              000000    1124800

  1398+ *                      files get tagged with                                                             000000    1124900

  1399+ *                                                                                                        000000    1125000

  1400+ *     peCCSID  = (input) New CCSID to assign                                                             000000    1125100

  1401+ *                                                                                                        000000    1125200

  1402+ * NOTE: HTTPAPI does not do *any* translation of downloaded                                              000000    1125300

  1403+ *       data. It only sets this number as part of the file's                                             000000    1125400

  1404+ *       attributes.  You can change it with the CHGATR CL                                                000000    1125500

  1405+ *       command.                                                                                         000000    1125600

  1406+ *                                                                                                        000000    1125700

  1407+ * NOTE: The IFS did not support CCSIDs in V4R5 and earlier.                                              000000    1125800

  1408+ *       On those releases, this API will be used to set the                                              000000    1125900

  1409+ *       codepage rather than the CCSID.                                                                  000000    1126000

  1410+ *                                                                                                        000000    1126100

  1411+ * Returns 0 if successful, -1 otherwise                                                                  000000    1126200

  1412+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1126300

  1413+D HTTP_SetfileCCSID...                                                                                    000000    1126400

  1414+D                 PR                                                                                      000000    1126500

  1415+D   peCCSID                     10I 0 value                                                               000000    1126600

  1416+                                                                                                          000000    1126700

  1417+                                                                                                          000000    1126800

  1418+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1126900

  1419+ * HTTP_xlate():  Translate data from ASCII <--> EBCDIC                                                   000000    1127000

  1420+ *                                                                                                        000000    1127100

  1421+ *       peSize = (input) Size of data to translate                                                       000000    1127200

  1422+ *       peData = (input) Data                                                                            000000    1127300

  1423+ *  peDirection = (input) can be set to the TO_ASCII or                                                   000000    1127400

  1424+ *                         TO_EBCDIC constant.                                                            000000    1127500

  1425+ *                                                                                                        000000    1127600

  1426+ * Returns 0 if successful, -1 upon failure                                                               000000    1127700

  1427+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1127800

  1428+D HTTP_xlate      PR            10I 0                                                                     000000    1127900

  1429+D   peSize                      10I 0 value                                                               000000    1128000

  1430+D   peData                   32766A   options(*varsize)                                                   000000    1128100

  1431+D   peDirection                  1A   const                                                               000000    1128200

  1432+                                                                                                          000000    1128300

  1433+                                                                                                          000000    1128400

  1434+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1128500

  1435+ * HTTP_xlatep(): Translate data from ASCII <--> EBCDIC                                                   000000    1128600

  1436+ *                (using a pointer instead of a variable)                                                 000000    1128700

  1437+ *                                                                                                        000000    1128800

  1438+ *       peSize = (input) Size of data to translate                                                       000000    1128900

  1439+ *       peData = (input) Data                                                                            000000    1129000

  1440+ *  peDirection = (input) can be set to the TO_ASCII or                                                   000000    1129100

  1441+ *                         TO_EBCDIC constant.                                                            000000    1129200

  1442+ *                                                                                                        000000    1129300

  1443+ * Returns 0 if successful, -1 upon failure                                                               000000    1129400

  1444+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1129500

  1445+D HTTP_xlatep     PR            10I 0                                                                     000000    1129600

  1446+D   peSize                      10I 0 value                                                               000000    1129700

  1447+D   peData                        *   value                                                               000000    1129800

  1448+D   peDirection                  1A   const                                                               000000    1129900

  1449+                                                                                                          000000    1130000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     29

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1450+                                                                                                          000000    1130100

  1451+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1130200

  1452+ * HTTP_xlatedyn: Translate data from ASCII <--> EBCDIC                                                   000000    1130300

  1453+ *                using a dynamically sized output buffer                                                 000000    1130400

  1454+ *                                                                                                        000000    1130500

  1455+ *      peSize = (input) size of data to translate                                                        000000    1130600

  1456+ *      peData = (input) pointer to data to translate                                                     000000    1130700

  1457+ * peDirection = (input) TO_ASCII or TO_EBCDIC                                                            000000    1130800

  1458+ *    peOutput = (output) address of newly allocated memory                                               000000    1130900

  1459+ *                                                                                                        000000    1131000

  1460+ * returns the length of the translated data or -1 upon failure                                           000000    1131100

  1461+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1131200

  1462+D HTTP_xlatedyn   PR            10I 0                                                                     000000    1131300

  1463+D   peSize                      10I 0 value                                                               000000    1131400

  1464+D   peData                        *   value                                                               000000    1131500

  1465+D   peDirection                  1A   const                                                               000000    1131600

  1466+D   peOutput                      *                                                                       000000    1131700

  1467+                                                                                                          000000    1131800

  1468+                                                                                                          000000    1131900

  1469+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1132000

  1470+ * http_set_100_timeout(): Set value for 100-continue timeouts.                                           000000    1132100

  1471+ *                                                                                                        000000    1132200

  1472+ * This API lets you change the timeout value that HTTPAPI waits                                          000000    1132300

  1473+ * for a "100 Continue" response from the server during a POST                                            000000    1132400

  1474+ * request. Some servers send this response, others do not. By                                            000000    1132500

  1475+ * default, HTTPAPI waits 0.5 seconds for a response, and if it's                                         000000    1132600

  1476+ * not received, sends the POST.                                                                          000000    1132700

  1477+ *                                                                                                        000000    1132800

  1478+ *   Set this to a low value (0.1?) when working with a server                                            000000    1132900

  1479+ *   that does not send a "100 continue" response. That way, you                                          000000    1133000

  1480+ *   don't have to wait for the timeout.                                                                  000000    1133100

  1481+ *                                                                                                        000000    1133200

  1482+ *   Set it to a higher value (10.0?) when working with a server                                          000000    1133300

  1483+ *   whose responses are slower, but will definitely send the                                             000000    1133400

  1484+ *   "100".  That way, HTTPAPI won't give up on the response and                                          000000    1133500

  1485+ *   get out of sync.                                                                                     000000    1133600

  1486+ *                                                                                                        000000    1133700

  1487+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1133800

  1488+D http_set_100_timeout...                                                                                 000000    1133900

  1489+D                 PR                                                                                      000000    1134000

  1490+D   peTimeout                   10P 3 value                                                               000000    1134100

  1491+                                                                                                          000000    1134200

  1492+                                                                                                          000000    1134300

  1493+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1134400

  1494+ * HTTP_xml_SetCCSIDs():  Set the CCSIDs used for ASCII/EBCDIC                                            000000    1134500

  1495+ *                    translation for XML documents                                                       000000    1134600

  1496+ *                                                                                                        000000    1134700

  1497+ *     peRemote = (input) remote CCSID                                                                    000000    1134800

  1498+ *     peLocal  = (input) local CCSID (can be 0 if you want                                               000000    1134900

  1499+ *                 to use the CCSID of the current job)                                                   000000    1135000

  1500+ *                                                                                                        000000    1135100

  1501+ * Returns 0 if successful, -1 otherwise                                                                  000000    1135200

  1502+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                           000000    1135300

  1503+D HTTP_xml_SetCCSIDs...                                                                                   000000    1135400

  1504+D                 PR            10I 0                                                                     000000    1135500

  1505+D   peRemote                    10I 0 value                                                               000000    1135600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     30

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1506+D   peLocal                     10I 0 value                                                               000000    1135700

  1507+                                                                                                          000000    1135800

  1508+                                                                                                          000000    1135900

  1509+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1136000

  1510+ *  http_parse_xml_stmf(): Parse XML data directly from a stream file                                     000000    1136100

  1511+ *                         (instead of downloading it from a server)                                      000000    1136200

  1512+ *                                                                                                        000000    1136300

  1513+ *      peFile = (input) Stream file (in IFS) to read data from                                           000000    1136400

  1514+ *     peCCSID = (input) CCSID of stream file,                                                            000000    1136500

  1515+ *                    or HTTP_XML_CALC to attempt to calculate it                                         000000    1136600

  1516+ *                       from the XML encoding                                                            000000    1136700

  1517+ *                    or HTTP_STMF_CALC to use the stream file's                                          000000    1136800

  1518+ *                       CCSID attribute.                                                                 000000    1136900

  1519+ * peStartProc = (input) call-back procedure to call at the start                                         000000    1137000

  1520+ *                       of each XML element received.                                                    000000    1137100

  1521+ *   peEndProc = (input) call-back procedure to call at the end                                           000000    1137200

  1522+ *                       of each XML element received.                                                    000000    1137300

  1523+ *    peUsrDta = (input) user-defined data that will be passed                                            000000    1137400

  1524+ *                          to the call-back routine                                                      000000    1137500

  1525+ *                                                                                                        000000    1137600

  1526+ *  Returns  -1 upon failure, 0 if successful                                                             000000    1137700

  1527+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1137800

  1528+D http_parse_xml_stmf...                                                                                  000000    1137900

  1529+D                 PR            10I 0                                                                     000000    1138000

  1530+D  peFile                    32767A   varying const options(*varsize)                                     000000    1138100

  1531+D  peCCSID                      10I 0 value                                                               000000    1138200

  1532+D  peStartProc                    *   value procptr                                                       000000    1138300

  1533+D  peEndProc                      *   value procptr                                                       000000    1138400

  1534+D  peUsrDta                       *   value                                                               000000    1138500

  1535+                                                                                                          000000    1138600

  1536+D HTTP_XML_CALC   C                   -1                                                                  000000    1138700

  1537+D HTTP_STMF_CALC  C                   -2                                                                  000000    1138800

  1538+                                                                                                          000000    1138900

  1539+                                                                                                          000000    1139000

  1540+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1139100

  1541+ * http_header():  retrieve the value of an HTTP header                                                   000000    1139200

  1542+ *                                                                                                        000000    1139300

  1543+ *      name = (input) name of header to look for                                                         000000    1139400

  1544+ *       pos = (input/optional) position of header if there's                                             000000    1139500

  1545+ *                 more than one with the same name                                                       000000    1139600

  1546+ *                                                                                                        000000    1139700

  1547+ * returns the value of the HTTP header, or '' if not found                                               000000    1139800

  1548+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1139900

  1549+D http_header     PR         32500A   varying                                                             000000    1140000

  1550+D   name                       256A   varying const                                                       000000    1140100

  1551+D   pos                         10I 0 value options(*nopass)                                              000000    1140200

  1552+                                                                                                          000000    1140300

  1553+                                                                                                          000000    1140400

  1554+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1140500

  1555+ * http_use_cookies(): Turns on/off HTTPAPI's cookie parsing and                                          000000    1140600

  1556+ *                     caching routines.                                                                  000000    1140700

  1557+ *                                                                                                        000000    1140800

  1558+ *    peSetting = (input) *ON = HTTPAPI will read and send cookies                                        000000    1140900

  1559+ *                       *OFF = HTTPAPI will ignore cookies                                               000000    1141000

  1560+ *                              (has no affect on cookies supplied                                        000000    1141100

  1561+ *                               via an exit procedure)                                                   000000    1141200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     31

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1562+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   000000    1141300

  1563+D http_use_cookies...                                                                                     000000    1141400

  1564+D                 PR                                                                                      000000    1141500

  1565+D   peSetting                    1N   const                                                               000000    1141600

  1566+                                                                                                          000000    1141700

  1567+                                                                                                          000000    1141800

  1568+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1141900

  1569+ * http_cookie_file():  Set the name of the file that HTTPAPI                                             000000    1142000

  1570+ *          will use to store cookies.                                                                    000000    1142100

  1571+ *                                                                                                        000000    1142200

  1572+ *    peFilename = (input) Filename (IFS path) to store cookie                                            000000    1142300

  1573+ *                  data into.                                                                            000000    1142400

  1574+ *                                                                                                        000000    1142500

  1575+ *  If the filename is set to '', or if you do not call this API,                                         000000    1142600

  1576+ *  cookies will only be saved until the activation group is                                              000000    1142700

  1577+ *  reclaimed.                                                                                            000000    1142800

  1578+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                         000000    1142900

  1579+D http_cookie_file...                                                                                     000000    1143000

  1580+D                 PR                                                                                      000000    1143100

  1581+D   peFilename                 256A   varying const                                                       000000    1143200

  1582+                                                                                                          000000    1143300

  1583+                                                                                                          000000    1143400

  1584+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1143500

  1585+ * http_conp(): Send a completion message                                                                 000000    1143600

  1586+ *                                                                                                        000000    1143700

  1587+ *      peMessage = message to send.                                                                      000000    1143800

  1588+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1143900

  1589+D http_comp       PR                                                                                      000000    1144000

  1590+D   peMessage                  256A   const                                                               000000    1144100

  1591+                                                                                                          000000    1144200

  1592+                                                                                                          000000    1144300

  1593+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1144400

  1594+ * http_diag(): Send a diagnostic message                                                                 000000    1144500

  1595+ *                                                                                                        000000    1144600

  1596+ *      peMessage = message to send.                                                                      000000    1144700

  1597+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1144800

  1598+D http_diag       PR                                                                                      000000    1144900

  1599+D   peMessage                  256A   const                                                               000000    1145000

  1600+                                                                                                          000000    1145100

  1601+                                                                                                          000000    1145200

  1602+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1145300

  1603+ * http_crash(): Send back an *ESCAPE message containing last                                             000000    1145400

  1604+ *               error found in HTTPAPI.                                                                  000000    1145500

  1605+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1145600

  1606+D http_crash      PR                                                                                      000000    1145700

  1607+                                                                                                          000000    1145800

  1608+                                                                                                          000000    1145900

  1609+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1146000

  1610+ * http_tempfile():  Generate a unique temporary IFS file name                                            000000    1146100

  1611+ *                                                                                                        000000    1146200

  1612+ * returns the file name                                                                                  000000    1146300

  1613+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                     000000    1146400

  1614+D http_tempfile   PR            40A   varying                                                             000000    1146500

  1615+                                                                                                          070329    1146600

  1616+                                                                                                          070329    1146700

  1617+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329    1146800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     32

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1618+ * http_xmlns():  Enable XML Namespace processing                                                         070329    1146900

  1619+ *                                                                                                        070329    1147000

  1620+ *     peEnable = (input) *ON to enable parsing, *OFF to disable.                                         070329    1147100

  1621+ *                        (it is disabled by default)                                                     070329    1147200

  1622+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329    1147300

  1623+D http_xmlns      PR                                                                                      070329    1147400

  1624+D   peEnable                     1N   const                                                               070329    1147500

  1625+                                                                                                          070816    1147600

  1626+                                                                                                          070816    1147700

  1627+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816    1147800

  1628+ * http_XmlReturnPtr(): XML End Element Handler should return a                                           070816    1147900

  1629+ *                      pointer to the full element value instead of                                      070816    1148000

  1630+ *                      returning a VARYING character string.                                             070816    1148100

  1631+ *                      (VARYING is limited to 64k)                                                       070816    1148200

  1632+ *                                                                                                        070816    1148300

  1633+ *     peEnable = (input) *ON to return a pointer, *OFF to return                                         070816    1148400

  1634+ *                        a VARYING string (*OFF = default)                                               070816    1148500

  1635+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816    1148600

  1636+D http_XmlReturnPtr...                                                                                    070816    1148700

  1637+D                 PR                                                                                      070816    1148800

  1638+D   peEnable                     1N   const                                                               070816    1148900

  1639+                                                                                                          070912    1149000

  1640+                                                                                                          070912    1149100

  1641+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070912    1149200

  1642+ * http_XmlStripCRLF(): Enable stripping of CRLF characters                                               070912    1149300

  1643+ *                                                                                                        070912    1149400

  1644+ *     peEnable = (input) *ON to strip, *OFF to leave them in.                                            070912    1149500

  1645+ *                        (they are stripped by default)                                                  070912    1149600

  1646+ *                                                                                                        070912    1149700

  1647+ * Note: To simplify your XML string manipulations, HTTPAPI                                               070912    1149800

  1648+ *       strips CRLF characters from the response.  If you would                                          070912    1149900

  1649+ *       prefer that they are left in the response, call this                                             070912    1150000

  1650+ *       routine with a parameter of *OFF.                                                                070912    1150100

  1651+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070912    1150200

  1652+D http_XmlStripCRLF...                                                                                    070912    1150300

  1653+D                 PR                                                                                      070912    1150400

  1654+D   peEnable                     1N   const                                                               070912    1150500

  1655+                                                                                                          071119    1150600

  1656+                                                                                                          071119    1150700

  1657+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       071119    1150800

  1658+ * http_parser_switch_cb(): delegates element processing to another                                       071119    1150900

  1659+ *     set of start and end element callback procedures for the                                           071119    1151000

  1660+ *     current element and its children.                                                                  071119    1151100

  1661+ *                                                                                                        071119    1151200

  1662+ *    peUsrDta = (input) user-defined data that will be passed to                                         071119    1151300

  1663+ *                       the call-back routine. usuallay only that                                        071119    1151400

  1664+ *                       portion of the curent user data is forwarded                                     071119    1151500

  1665+ *                       to the new callback procedures that they are                                     071119    1151600

  1666+ *                       responsible for.                                                                 071119    1151700

  1667+ * peStartProc = (input) call-back procedure to call at the start                                         071119    1151800

  1668+ *                       of each XML element received.                                                    071119    1151900

  1669+ *   peEndProc = (input) call-back procedure to call at the end                                           071119    1152000

  1670+ *                       of each XML element received.                                                    071119    1152100

  1671+ *                                                                                                        071119    1152200

  1672+ *  Returns  -1 upon failure, 0 upon success                                                              071119    1152300

  1673+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       071119    1152400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     33

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1674+D http_parser_switch_cb...                                                                                071119    1152500

  1675+D                 PR            10I 0                                                                     071119    1152600

  1676+D  peUsrDta                       *   value                                                               071119    1152700

  1677+D  peStartProc                    *   value procptr                                                       071119    1152800

  1678+D  peEndProc                      *   value procptr options(*nopass)                                      071119    1152900

  1679+                                                                                                          080205    1153000

  1680+                                                                                                          080205    1153100

  1681+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1153200

  1682+ * http_parser_get_start_cb(): returns the procedure pointer of                                           080205    1153300

  1683+ *     the currently active start callback procedure.                                                     080205    1153400

  1684+ *                                                                                                        080205    1153500

  1685+ *  Returns procedure pointer of start callback procedure.                                                080205    1153600

  1686+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1153700

  1687+D http_parser_get_start_cb...                                                                             080205    1153800

  1688+D                 PR              *   procptr                                                             080205    1153900

  1689+                                                                                                          080205    1154000

  1690+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1154100

  1691+ * http_parser_get_end_cb(): returns the procedure pointer of                                             080205    1154200

  1692+ *     the currently active end callback procedure.                                                       080205    1154300

  1693+ *                                                                                                        080205    1154400

  1694+ *  Returns procedure pointer of end callback procedure.                                                  080205    1154500

  1695+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1154600

  1696+D http_parser_get_end_cb...                                                                               080205    1154700

  1697+D                 PR              *   procptr                                                             080205    1154800

  1698+                                                                                                          080205    1154900

  1699+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1155000

  1700+ * http_parser_get_userdata(): returns the procedure pointer of                                           080205    1155100

  1701+ *     the currently active user data.                                                                    080205    1155200

  1702+ *                                                                                                        080205    1155300

  1703+ *  Returns procedure pointer of user data.                                                               080205    1155400

  1704+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       080205    1155500

  1705+D http_parser_get_userdata...                                                                             080205    1155600

  1706+D                 PR              *                                                                       080205    1155700

  1707+                                                                                                          080331    1155800

  1708+                                                                                                          080331    1155900

  1709+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  080331    1156000

  1710+ * http_parse_xml_string():  Parse XML from an input string.                                              080331    1156100

  1711+ *                         (instead of downloading it from a server)                                      080331    1156200

  1712+ *                                                                                                        080331    1156300

  1713+ *    peString = (input) Pointer to string                                                                080331    1156400

  1714+ *       peLen = (input) Length of string to parse                                                        080331    1156500

  1715+ *     peCCSID = (input) CCSID of string to be parsed                                                     080331    1156600

  1716+ * peStartProc = (input) call-back procedure to call at the start                                         080331    1156700

  1717+ *                       of each XML element received.                                                    080331    1156800

  1718+ *   peEndProc = (input) call-back procedure to call at the end                                           080331    1156900

  1719+ *                       of each XML element received.                                                    080331    1157000

  1720+ *    peUsrDta = (input) user-defined data that will be passed                                            080331    1157100

  1721+ *                          to the call-back routine                                                      080331    1157200

  1722+ *                                                                                                        080331    1157300

  1723+ *  Returns  -1 upon failure, 0 upon success                                                              080331    1157400

  1724+ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   080331    1157500

  1725+D http_parse_xml_string...                                                                                080331    1157600

  1726+D                 PR            10i 0                                                                     080331    1157700

  1727+D  peString                       *   value                                                               080331    1157800

  1728+D  peLen                        10I 0 value                                                               080331    1157900

  1729+D  peCCSID                      10I 0 value                                                               080331    1158000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     34

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1730+D  peStartProc                    *   value procptr                                                       080331    1158100

  1731+D  peEndProc                      *   value procptr                                                       080331    1158200

  1732+D  peUsrDta                       *   value                                                               080331    1158300

  1733+                                                                                                          080205    1158400

  1734+                                                                                                          071119    1158500

  1735+ *********************************************************************                                    000000    1158600

  1736+ **  Error codes that HTTP API can return                                                                 000000    1158700

  1737+ *********************************************************************                                    000000    1158800

  1738+ ** Invalid URL format                                                                                    000000    1158900

  1739+D HTTP_BADURL     C                   CONST(1)                                                            000000    1159000

  1740+ ** Host not found (not a valid IP address, or DNS lookup failed)                                         000000    1159100

  1741+D HTTP_HOSTNF     C                   CONST(2)                                                            000000    1159200

  1742+ ** No memory available for a socket addess structure                                                     000000    1159300

  1743+D HTTP_SAALLO     C                   CONST(3)                                                            000000    1159400

  1744+ ** Unable to create a new socket                                                                         000000    1159500

  1745+D HTTP_SOCERR     C                   CONST(4)                                                            000000    1159600

  1746+ ** Unable to place the socket in non-blocking mode                                                       000000    1159700

  1747+D HTTP_NONBLK     C                   CONST(5)                                                            000000    1159800

  1748+ ** Error when connecting to server                                                                       000000    1159900

  1749+D HTTP_BADCNN     C                   CONST(6)                                                            000000    1160000

  1750+ ** Timeout when connecting to server                                                                     000000    1160100

  1751+D HTTP_CNNTIMO    C                   CONST(7)                                                            000000    1160200

  1752+ ** Unable to translate request to ASCII                                                                  000000    1160300

  1753+D HTTP_SRXLATE    C                   CONST(8)                                                            000000    1160400

  1754+ ** Error occurred calling select() in the sendreq() procedure                                            000000    1160500

  1755+D HTTP_SRSELE     C                   CONST(9)                                                            000000    1160600

  1756+ ** Error occurred calling send() in the sendreq() procedure                                              000000    1160700

  1757+ **   (probably means you were disconnected from the server)                                              000000    1160800

  1758+D HTTP_SRXMIT     C                   CONST(10)                                                           000000    1160900

  1759+ ** Error occurred calling recv() in the recvresp() procedure                                             000000    1161000

  1760+ **   (probably means you were disconnected from the server)                                              000000    1161100

  1761+D HTTP_RRRECV     C                   CONST(11)                                                           000000    1161200

  1762+ ** Error occurred calling select() in the recvresp() procedure                                           000000    1161300

  1763+D HTTP_RRSELE     C                   CONST(12)                                                           000000    1161400

  1764+ ** HTTP response code logged (not an error, per se)                                                      000000    1161500

  1765+D HTTP_RESP       C                   CONST(13)                                                           000000    1161600

  1766+ ** Error calling recv() in the recvdoc() procedure                                                       000000    1161700

  1767+D HTTP_RDRECV     C                   CONST(14)                                                           000000    1161800

  1768+ ** Error calling select() in the recvdoc() procedure                                                     000000    1161900

  1769+D HTTP_RDSELE     C                   CONST(15)                                                           000000    1162000

  1770+ ** Error calling user-specified procedure in the                                                         000000    1162100

  1771+ **   recvdoc() procedure.  (user proc must return full count)                                            000000    1162200

  1772+D HTTP_RDWERR     C                   CONST(16)                                                           000000    1162300

  1773+ ** Error occurred while calling send() in the senddoc() procedure                                        000000    1162400

  1774+D HTTP_SDSEND     C                   CONST(17)                                                           000000    1162500

  1775+ ** When receiving a 'chunked' document, only a partial chunk recvd                                       000000    1162600

  1776+D HTTP_BADCHK     C                   CONST(18)                                                           000000    1162700

  1777+ ** When receiving a 'chunked' document, couldnt read a chunk size.                                       000000    1162800

  1778+D HTTP_CHKSIZ     C                   CONST(19)                                                           000000    1162900

  1779+ ** Unsupported transfer-encoding value                                                                   000000    1163000

  1780+D HTTP_XFRENC     C                   CONST(20)                                                           000000    1163100

  1781+ ** You dont have access to put a file there :)                                                           000000    1163200

  1782+D HTTP_ACCES      C                   CONST(21)                                                           000000    1163300

  1783+ ** Error opening file to save data into.                                                                 000000    1163400

  1784+D HTTP_FDOPEN     C                   CONST(22)                                                           000000    1163500

  1785+ ** Problem with the Application ID for the DCM                                                           000000    1163600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     35

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1786+D HTTP_GSKAPPID   C                   CONST(23)                                                           000000    1163700

  1787+ ** Error setting auth type                                                                               000000    1163800

  1788+D HTTP_GSKATYP    C                   CONST(24)                                                           000000    1163900

  1789+ ** Error initializing GSKit environment                                                                  000000    1164000

  1790+D HTTP_GSKENVI    C                   CONST(25)                                                           000000    1164100

  1791+ ** Error opening GSKit environment                                                                       000000    1164200

  1792+D HTTP_GSKENVO    C                   CONST(26)                                                           000000    1164300

  1793+ ** Error setting session type (client | server | server_auth)                                            000000    1164400

  1794+D HTTP_GSKSTYP    C                   CONST(27)                                                           000000    1164500

  1795+ ** Error registering application w/DCM                                                                   000000    1164600

  1796+D HTTP_REGERR     C                   CONST(28)                                                           000000    1164700

  1797+ ** Error open secure socket                                                                              000000    1164800

  1798+D HTTP_SSOPEN     C                   CONST(29)                                                           000000    1164900

  1799+ ** Error setting SSL numeric file descriptor                                                             000000    1165000

  1800+D HTTP_SSSNFD     C                   CONST(30)                                                           000000    1165100

  1801+ ** Error setting SSL numeric timeout value                                                               000000    1165200

  1802+D HTTP_SSSNTO     C                   CONST(31)                                                           000000    1165300

  1803+ ** SSL handshake timed out                                                                               000000    1165400

  1804+D HTTP_SSTIMO     C                   CONST(32)                                                           000000    1165500

  1805+ ** Select() failure in SendDoc()                                                                         000000    1165600

  1806+D HTTP_SDSELE     C                   CONST(33)                                                           000000    1165700

  1807+ ** Select() failure in get_chunk_size()                                                                  000000    1165800

  1808+D HTTP_CSSELE     C                   CONST(34)                                                           000000    1165900

  1809+ ** This app is not registered with digital cert mgr                                                      000000    1166000

  1810+D HTTP_NOTREG     C                   CONST(35)                                                           000000    1166100

  1811+ ** This URI needs authorization (user/pass)                                                              000000    1166200

  1812+D HTTP_NDAUTH     C                   CONST(36)                                                           000000    1166300

  1813+ ** Invalid HTTP authentication type                                                                      000000    1166400

  1814+D HTTP_ATHTYP     C                   CONST(37)                                                           000000    1166500

  1815+ ** Error in value of an HTTP authentication string                                                       000000    1166600

  1816+D HTTP_ATHVAL     C                   CONST(38)                                                           000000    1166700

  1817+ ** Server didn't ask for authorizatin                                                                    000000    1166800

  1818+D HTTP_NOAUTH     C                   CONST(39)                                                           000000    1166900

  1819+ ** HTTP server didn't send a "100 Continue" in response                                                  000000    1167000

  1820+ ** to our POST request.                                                                                  000000    1167100

  1821+D HTTP_PST417     C                   CONST(40)                                                           000000    1167200

  1822+ ** recvresp() timed out waiting for a server response code                                               000000    1167300

  1823+D HTTP_RRTIME     C                   CONST(41)                                                           000000    1167400

  1824+ ** recvdoc() timed out waiting for more data                                                             000000    1167500

  1825+D HTTP_RDTIME     C                   CONST(42)                                                           000000    1167600

  1826+ ** blockread() timed out waiting for more data                                                           000000    1167700

  1827+D HTTP_BRTIME     C                   CONST(43)                                                           000000    1167800

  1828+ ** blockread() error during recv() call                                                                  000000    1167900

  1829+D HTTP_BRRECV     C                   CONST(44)                                                           000000    1168000

  1830+ ** blockread() error during select() call                                                                000000    1168100

  1831+D HTTP_BRSELE     C                   CONST(45)                                                           000000    1168200

  1832+ ** recvchunk() did not get the trailing CRLF chars                                                       000000    1168300

  1833+D HTTP_RDCRLF     C                   CONST(46)                                                           000000    1168400

  1834+ ** Invalid exit point registered with HTTP_Xproc()                                                       000000    1168500

  1835+D HTTP_BADPNT     C                   CONST(47)                                                           000000    1168600

  1836+ ** Error retrieving SSL protocol                                                                         000000    1168700

  1837+D HTTP_SSPROT     C                   CONST(48)                                                           000000    1168800

  1838+ ** Unknown SSL protocol                                                                                  000000    1168900

  1839+D HTTP_SSPUNK     C                   CONST(49)                                                           000000    1169000

  1840+ ** Error setting SSL protocol                                                                            000000    1169100

  1841+D HTTP_SSPSET     C                   CONST(50)                                                           000000    1169200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     36

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1842+ ** Out of memory                                                                                         000000    1169300

  1843+D HTTP_NOMEM      C                   CONST(51)                                                           000000    1169400

  1844+ ** Must give data in order to encode it                                                                  000000    1169500

  1845+D HTTP_NODATA     C                   CONST(52)                                                           000000    1169600

  1846+ ** Pointer is invalid or already freed                                                                   000000    1169700

  1847+D HTTP_INVPTR     C                   CONST(53)                                                           000000    1169800

  1848+ ** Not enough space to add encoded variable                                                              000000    1169900

  1849+D HTTP_NOSPAC     C                   CONST(54)                                                           000000    1170000

  1850+ ** Error calling send() API in BlockWrite()                                                              000000    1170100

  1851+D HTTP_BWSEND     C                   CONST(55)                                                           000000    1170200

  1852+ ** Error calling select() API in BlockWrite()                                                            000000    1170300

  1853+D HTTP_BWSELE     C                   CONST(56)                                                           000000    1170400

  1854+ ** Timeout waiting to send in BlockWrite()                                                               000000    1170500

  1855+D HTTP_BWTIME     C                   CONST(57)                                                           000000    1170600

  1856+ ** Lineread() had problem with recv() API                                                                000000    1170700

  1857+D HTTP_LRRECV     C                   CONST(58)                                                           000000    1170800

  1858+ ** Lineread() had problem with select() API                                                              000000    1170900

  1859+D HTTP_LRSELE     C                   CONST(59)                                                           000000    1171000

  1860+ ** Lineread() had timeout                                                                                000000    1171100

  1861+D HTTP_LRTIME     C                   CONST(60)                                                           000000    1171200

  1862+ ** Procedure is no longer supported                                                                      000000    1171300

  1863+D HTTP_NOTSUPP    C                   CONST(61)                                                           000000    1171400

  1864+ ** No communication driver defined                                                                       000000    1171500

  1865+D HTTP_NOCDRIV    C                   CONST(62)                                                           000000    1171600

  1866+ ** Timeout sending data in blockwrite                                                                    000000    1171700

  1867+D HTTP_BWTIMO     C                   CONST(63)                                                           000000    1171800

  1868+ ** Timeout sending data in blockwrite                                                                    000000    1171900

  1869+D HTTP_SWCERR     C                   CONST(64)                                                           000000    1172000

  1870+ ** Timeout sending data in blockwrite                                                                    000000    1172100

  1871+D HTTP_FDSTAT     C                   CONST(65)                                                           000000    1172200

  1872+ ** Error parsing XML data                                                                                000000    1172300

  1873+D HTTP_XMLERR     C                   CONST(66)                                                           000000    1172400

  1874+ ** Error opening IFS file                                                                                000000    1172500

  1875+D HTTP_IFOPEN     C                   CONST(67)                                                           000000    1172600

  1876+ ** Error with SSL keyring                                                                                000000    1172700

  1877+D HTTP_GSKKEYF    C                   CONST(68)                                                           000000    1172800

  1878+ ** Must Use Table / Must not Use Table                                                                   000000    1172900

  1879+D HTTP_MUTABLE    C                   CONST(69)                                                           000000    1173000

  1880+ ** Cookie file cant be written                                                                           000000    1173100

  1881+D HTTP_CKDUMP     C                   CONST(70)                                                           000000    1173200

  1882+ ** Cookie file cant be read                                                                              000000    1173300

  1883+D HTTP_CKOPEN     C                   CONST(71)                                                           000000    1173400

  1884+ ** Can't get stats on cookie file                                                                        000000    1173500

  1885+D HTTP_CKSTAT     C                   CONST(72)                                                           000000    1173600

  1886+ ** Error converting CCSIDs                                                                               000000    1173700

  1887+D HTTP_CONVERR    C                   CONST(73)                                                           000000    1173800

  1888+ ** Error setting stream file CCSID                                                                       000000    1173900

  1889+D HTTP_SETATTR    C                   CONST(74)                                                           000000    1174000

  1890+ ** This Proxy server needs authorization (user/pass)                                                     000000    1174100

  1891+D HTTP_PXNDAUTH   C                   CONST(75)                                                           000000    1174200

  1892+ ** XML callback switched illegally                                                                       071119    1174300

  1893+D HTTP_ILLSWC     C                   CONST(76)                                                           071119    1174400

  1894+ ** Error getting certificate info                                                                        071218    1174500

  1895+D HTTP_SSLGCI     C                   CONST(77)                                                           071218    1174600

  1896+ ** Error from certificate validation callback                                                            071218    1174700

  1897+D HTTP_SSLVAL     C                   CONST(78)                                                           071218    1174800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     37

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1898+                                                                                                          000000    1174900

  1899+                                                                                                          000000    1175000

  1900+ *********************************************************************                                    000000    1175100

  1901+ *  HTTP WWW-Authentication types                                                                         000000    1175200

  1902+ *********************************************************************                                    000000    1175300

  1903+D HTTP_AUTH_NONE...                                                                                       000000    1175400

  1904+D                 C                   '0'                                                                 000000    1175500

  1905+D HTTP_AUTH_BASIC...                                                                                      000000    1175600

  1906+D                 C                   '1'                                                                 000000    1175700

  1907+D HTTP_AUTH_MD5_DIGEST...                                                                                 000000    1175800

  1908+D                 C                   '2'                                                                 000000    1175900

  1909+                                                                                                          000000    1176000

  1910+                                                                                                          000000    1176100

  1911+ *********************************************************************                                    000000    1176200

  1912+ *  HTTPAPI Exit points                                                                                   000000    1176300

  1913+ *********************************************************************                                    000000    1176400

  1914+ ** Debug exit point:  This is called when ASCII stream data is to be                                     000000    1176500

  1915+ **                    to a log file.   Here's the prototype for a                                        000000    1176600

  1916+ **                    debug exit procedure:                                                              000000    1176700

  1917+ **                                                                                                       000000    1176800

  1918+ **  D debug_proto     PR                                                                                 000000    1176900

  1919+ **  D   DataToLog                     *   value                                                          000000    1177000

  1920+ **  D   Length                      10I 0 value                                                          000000    1177100

  1921+ **                                                                                                       000000    1177200

  1922+D HTTP_POINT_DEBUG...                                                                                     000000    1177300

  1923+D                 C                   1                                                                   000000    1177400

  1924+                                                                                                          000000    1177500

  1925+ ** Upload status exit point:  This is called periodically during an                                      000000    1177600

  1926+ **                            upload (POST) to an HTTP(S) server.                                        000000    1177700

  1927+ **                            Allows you to display progress to the                                      000000    1177800

  1928+ **                            user.                                                                      000000    1177900

  1929+ **                                                                                                       000000    1178000

  1930+ **  D upload_proto    PR                                                                                 000000    1178100

  1931+ **  D   BytesSent                   10U 0 value                                                          000000    1178200

  1932+ **  D   BytesTotal                  10U 0 value                                                          000000    1178300

  1933+ **                                                                                                       000000    1178400

  1934+D HTTP_POINT_UPLOAD_STATUS...                                                                             000000    1178500

  1935+D                 C                   2                                                                   000000    1178600

  1936+                                                                                                          000000    1178700

  1937+ ** Download status exit point:  This is called periodically during a                                     000000    1178800

  1938+ **                              download (POST or GET) from an HTTP(S)                                   000000    1178900

  1939+ **                              server.  Allows you to display the                                       000000    1179000

  1940+ **                              progress to the user.                                                    000000    1179100

  1941+ **                                                                                                       000000    1179200

  1942+ **  D download_proto  PR                                                                                 000000    1179300

  1943+ **  D   BytesRecv                   10U 0 value                                                          000000    1179400

  1944+ **  D   BytesTotal                  10U 0 value                                                          000000    1179500

  1945+ **                                                                                                       000000    1179600

  1946+D HTTP_POINT_DOWNLOAD_STATUS...                                                                           000000    1179700

  1947+D                 C                   3                                                                   000000    1179800

  1948+                                                                                                          000000    1179900

  1949+ ** Additional Header fields exit point:                                                                  000000    1180000

  1950+ **    Allows you to supply additional header data to be added                                            000000    1180100

  1951+ **    to the HTTP request chain.  Data should be in EBCDIC with                                          000000    1180200

  1952+ **    x'0d25' after each header record.                                                                  000000    1180300

  1953+ **                                                                                                       000000    1180400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     38

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  1954+ **  D addl_hdrs_prot  PR                                                                                 000000    1180500

  1955+ **  D   HeaderData                1024A   varying                                                        000000    1180600

  1956+ **                                                                                                       000000    1180700

  1957+D HTTP_POINT_ADDL_HEADER...                                                                               000000    1180800

  1958+D                 C                   4                                                                   000000    1180900

  1959+                                                                                                          000000    1181000

  1960+ ** Header parse exit point:                                                                              000000    1181100

  1961+ **    Allows you to examine the HTTP response chain received                                             000000    1181200

  1962+ **    from the HTTP server.                                                                              000000    1181300

  1963+ **                                                                                                       000000    1181400

  1964+ **  D parse_hdr_prot  PR                                                                                 000000    1181500

  1965+ **  D   HeaderData                2048A   const                                                          000000    1181600

  1966+ **                                                                                                       000000    1181700

  1967+D HTTP_POINT_PARSE_HEADER...                                                                              000000    1181800

  1968+D                 C                   5                                                                   000000    1181900

  1969+                                                                                                          000000    1182000

  1970+ ** Header parse exit point:                                                                              000000    1182100

  1971+ **    Allows you to examine the HTTP response chain received                                             000000    1182200

  1972+ **    from the HTTP server. (allows longer headers)                                                      000000    1182300

  1973+ **                                                                                                       000000    1182400

  1974+ **  D parse_hdr_long  PR                                                                                 000000    1182500

  1975+ **  D   HeaderData               32767A   const varying                                                  000000    1182600

  1976+ **                                                                                                       000000    1182700

  1977+D HTTP_POINT_PARSE_HDR_LONG...                                                                            000000    1182800

  1978+D                 C                   6                                                                   000000    1182900

  1979+                                                                                                          071218    1183000

  1980+ ** SSL Certificate validation:                                                                           071218    1183100

  1981+ **    This will be called repeatedly for each field in each                                              071218    1183200

  1982+ **    certificate when parsed by HTTPAPI.                                                                071218    1183300

  1983+ **                                                                                                       071218    1183400

  1984+ **  D cert_valid      PR            10i 0                                                                071218    1183500

  1985+ **  D   usrdta                        *   value                                                          071218    1183600

  1986+ **  D   id                                like(CERT_DATA_ID) value                                       071218    1183700

  1987+ **  D   data                     32767a   varying const                                                  071218    1183800

  1988+ **  D   errmsg                      80a                                                                  071218    1183900

  1989+ **                                                                                                       071218    1184000

  1990+ **     id = certificate data id (see CERT_DATA_ID_T in GSKSSL_H)                                         071218    1184100

  1991+ **   data = certificate element data.  (For binary elements, this                                        071221    1184200

  1992+ **          is binary data. For others, it'll be EBCDIC data.)                                           071218    1184300

  1993+ ** errmsg = the callback can use this to return a reason why a                                           071218    1184400

  1994+ **          certificate wasn't valid.  (retrievable w/HTTP_error)                                        071218    1184500

  1995+ **                                                                                                       071218    1184600

  1996+ **  Return 0 if okay, -1 if you want to reject it.                                                       071218    1184700

  1997+ **                                                                                                       071218    1184800

  1998+D HTTP_POINT_CERT_VAL...                                                                                  071218    1184900

  1999+D                 C                   7                                                                   071218    1185000

  2000+                                                                                                          071218    1185100

  2001+ ** SSL Certificate validation (GSkit)                                                                    071221    1185200

  2002+ **    This sets the GSK_CERT_VALIDATION_CALLBACK callback proc                                           071218    1185300

  2003+ **    within GSKit.  The GSKit (not HTTPAPI) will call back                                              071218    1185400

  2004+ **    your procedure to validate a certificate.                                                          071218    1185500

  2005+ **                                                                                                       071218    1185600

  2006+ **    See the gsk_attribute_set_callback() API documentation                                             071218    1185700

  2007+ **    in the IBM Information Center for details.                                                         071218    1185800

  2008+ **                                                                                                       071218    1185900

  2009+ **    Note: The UserData parameter to http_xproc() will be                                               071218    1186000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     39

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2010+ **          passed as the 3rd parameter to the                                                           071218    1186100

  2011+ **          gsk_attribute_set_callback() API -- the peProc                                               071218    1186200

  2012+ **          parameter to http_xproc() is ignored for this                                                071218    1186300

  2013+ **          exit point.                                                                                  071218    1186400

  2014+ **                                                                                                       071218    1186500

  2015+D HTTP_POINT_GSKIT_CERT_VAL...                                                                            071218    1186600

  2016+D                 C                   8                                                                   071218    1186700

  2017+                                                                                                          000000    1186800

  2018+                                                                                                          000000    1186900

  2019+ *********************************************************************                                    000000    1187000

  2020+ * Directions for HTTP_xlate() and HTTP_xlatep()                                                          000000    1187100

  2021+ *********************************************************************                                    000000    1187200

  2022+D TO_ASCII        C                   '1'                                                                 000000    1187300

  2023+D TO_EBCDIC       C                   '2'                                                                 000000    1187400

  2024                                                                                                           091207     004800

  2025  /Define cpyGetContactInfo_PR                                                                             100312     004900

  2026  /Copy Qrpglesrc,CB.CONTACT                                                                               100312     005000

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.CONTACT                                                   *                     3

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.CONTACT)                                  *                     3

        * Last change  . . . . . . . :  06/15/10  10:20:14                                           *                     3

        * Text 'description' . . . . :  CONTACT Web Service - Copy Book                              *                     3

        *--------------------------------------------------------------------------------------------*

  2027+ *-----------------------------------------------------------------------------*                          091203    3000100

  2028+ *-                                                                            *                          091203    3000200

  2029+ *- Copy Book   :  CB.CONTACT Copy Book for WS.MEMBER service                  *                          100318    3000300

  2030+ *-                                                                            *                          091203    3000400

  2031+ *- Description :  Membership Re-Architecture Basic Contact Service Copy Book  *                          100318    3000500

  2032+ *-                                                                            *                          091203    3000600

  2033+ *-----------------------------------------------------------------------------*                          091203    3000700

  2034+ *-                                                                            *                          091203    3000800

  2035+ *-                  M O D I F I C A T I O N S                                 *                          091203    3000900

  2036+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    3001000

  2037+ *- Date       User ID    Task #     Description                               *                          091203    3001100

  2038+ *- ----       -------    --------   -----------                               *                          091203    3001200

  2039+ *- 2009-12-08 VGato      RA010004   Copy Book Written                         *                          091208    3001300

  2040+ *                                                                             *                          091203    3001400

  2041+ *-----------------------------------------------------------------------------*                          091203    3001500

  2042+ /If Defined (cpyGetContactInfo_PR)                                                                       100318    3001600

  2043+D getContactInfo  PR              *                                                                       100318    3001700

  2044+D   pMemb#                       7S 0 const                                Member #                       100212    3001800

  2045+D   pContact                    10S 0 const options(*nopass)               Contact ID                     100318    3001900

  2046+ /EndIf                                                                                                   091210    3002000

  2047+                                                                                                          091210    3002100

  2048+ /If Defined (cpyGetContactInfo_DS)                                                                       100318    3002200

            LINES EXCLUDED: 57

  2049+ /EndIf                                                                                                   091210    3008000

  2050+                                                                                                          100226    3008100

  2051+ /If Defined (cpyGetContactInfo_Fields)                                                                   100318    3008200

            LINES EXCLUDED: 3

  2052+ /EndIf                                                                                                   091208    3008600

  2053  /Undefine cpyGetContactInfo_PR                                                                           100312     005100

  2054                                                                                                           100212     005200

  2055 D SndRcvErr       pr             1a                                                                 RA01  100212     005300

  2056 D  MsgID                         7a   Const                                                         RA01  100212     005400

  2057 D  PgmMsgQ                      10a   Const                                                         RA01  100212     005500

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     40

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2058 D  MsgDta                       20a   Const Options(*Varsize : *Nopass)                             RA01  100212     005600

  2059 D  MsgDtaLen                     9b 0 Const Options(*Nopass)                                        RA01  100212     005700

  2060                                                                                                     RA01  100212     005800

  2061 D getActiveFlg    pr             1a                                                                 RA01  100212     005900

  2062 D   pService                    15a   Const                                                         RA01  100212     006000

  2063                                                                                                     RA01  100212     006100

  2064 D wrtWSLogs       pr                                                                                RA01  100212     006200

  2065 D   pService                    15a   Const                                                         RA01  100212     006300

  2066 D   pJobN                       10a   Const                                                         RA01  100212     006400

  2067 D   pUser                       10a   Const                                                         RA01  100212     006500

  2068 D   pJob#                        6s 0 Const                                                         RA01  100212     006600

  2069 D   pCpgm                       10a   Const                                                         RA01  100212     006700

  2070 D   pMember                      7s 0 Const                                                         RA01  100212     006800

  2071 D   pContact                    10S 0 Const                                                         RA01  100218     006900

  2072 D   pErrorId                     7a   Const                                                         RA01  100212     007000

  2073 D   pErrMsg                    132a   Const                                                         RA01  100212     007100

  2074 D   pSOAP                    32767a   varying                                                       RA01  100212     007200

  2075 D   pSOAP2                   32767a   varying                                                       RA01  100212     007300

  2076                                                                                                           091231     007400

  2077 d MapXmlData      PR                                                                                      091204     007500

  2078 d   xml_data                    52A   varying                                                             091204     007600

  2079 d   depth                       10I 0 value                                                               091204     007700

  2080 d   name                      1024A   varying const                                                       091204     007800

  2081 d   path                     24576A   varying const                                                       091204     007900

  2082 d   value                    65535A   varying const                                                       091204     008000

  2083 d   attrs                         *   dim(32767)                                                          091204     008100

  2084 d                                     const options(*varsize)                                             091204     008200

  2085                                                                                                           091204     008300

  2086 D Add_SOAPACTION  PR                                                                                      091204     008400

  2087 D   Header                    1024A   varying                                                             091204     008500

  2088 D   UserData                      *   value                                                               091204     008600

  2089                                                                                                           091204     008700

  2090 d GetValue        PR          1950                                                                        091204     008800

  2091 d  CodeType                           like(fn_codetp) const                                               091204     008900

  2092 d  Code                               like(fn_code) const                                                 091204     009000

  2093                                                                                                           091207     009100

  2094  /Define cpyGetContactInfo_FIELDS                                                                         100318     009200

  2095  /Copy Qrpglesrc,CB.CONTACT                                                                               100312     009300

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.CONTACT                                                   *                     4

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.CONTACT)                                  *                     4

        * Last change  . . . . . . . :  06/15/10  10:20:14                                           *                     4

        * Text 'description' . . . . :  CONTACT Web Service - Copy Book                              *                     4

        *--------------------------------------------------------------------------------------------*

  2096+ *-----------------------------------------------------------------------------*                          091203    4000100

  2097+ *-                                                                            *                          091203    4000200

  2098+ *- Copy Book   :  CB.CONTACT Copy Book for WS.MEMBER service                  *                          100318    4000300

  2099+ *-                                                                            *                          091203    4000400

  2100+ *- Description :  Membership Re-Architecture Basic Contact Service Copy Book  *                          100318    4000500

  2101+ *-                                                                            *                          091203    4000600

  2102+ *-----------------------------------------------------------------------------*                          091203    4000700

  2103+ *-                                                                            *                          091203    4000800

  2104+ *-                  M O D I F I C A T I O N S                                 *                          091203    4000900

  2105+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    4001000

  2106+ *- Date       User ID    Task #     Description                               *                          091203    4001100

  2107+ *- ----       -------    --------   -----------                               *                          091203    4001200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     41

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2108+ *- 2009-12-08 VGato      RA010004   Copy Book Written                         *                          091208    4001300

  2109+ *                                                                             *                          091203    4001400

  2110+ *-----------------------------------------------------------------------------*                          091203    4001500

  2111+ /If Defined (cpyGetContactInfo_PR)                                                                       100318    4001600

            LINES EXCLUDED: 3

  2112+ /EndIf                                                                                                   091210    4002000

  2113+                                                                                                          091210    4002100

  2114+ /If Defined (cpyGetContactInfo_DS)                                                                       100318    4002200

            LINES EXCLUDED: 57

  2115+ /EndIf                                                                                                   091210    4008000

  2116+                                                                                                          100226    4008100

  2117+ /If Defined (cpyGetContactInfo_Fields)                                                                   100318    4008200

  2118+D pMemb#          S              7S 0                                                                     091210    4008300

  2119+D ErrorId         S              7A   inz                                                                 091215    4008400

  2120+D ErrorMsg        S             80A   inz                                                                 091215    4008500

  2121+ /EndIf                                                                                                   091208    4008600

  2122  /Undefine cpyGetContactInfo_FIELDS                                                                       100318     009400

  2123                                                                                                           091210     009500

  2124  /Define cpyGetContactInfo_DS                                                                             100312     009600

  2125  /Copy Qrpglesrc,CB.CONTACT                                                                               100312     009700

        *--------------------------------------------------------------------------------------------*

        * RPG member name  . . . . . :  CB.CONTACT                                                   *                     5

        * External name  . . . . . . :  IILIB/QRPGLESRC(CB.CONTACT)                                  *                     5

        * Last change  . . . . . . . :  06/15/10  10:20:14                                           *                     5

        * Text 'description' . . . . :  CONTACT Web Service - Copy Book                              *                     5

        *--------------------------------------------------------------------------------------------*

  2126+ *-----------------------------------------------------------------------------*                          091203    5000100

  2127+ *-                                                                            *                          091203    5000200

  2128+ *- Copy Book   :  CB.CONTACT Copy Book for WS.MEMBER service                  *                          100318    5000300

  2129+ *-                                                                            *                          091203    5000400

  2130+ *- Description :  Membership Re-Architecture Basic Contact Service Copy Book  *                          100318    5000500

  2131+ *-                                                                            *                          091203    5000600

  2132+ *-----------------------------------------------------------------------------*                          091203    5000700

  2133+ *-                                                                            *                          091203    5000800

  2134+ *-                  M O D I F I C A T I O N S                                 *                          091203    5000900

  2135+ *-                  ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *                          091203    5001000

  2136+ *- Date       User ID    Task #     Description                               *                          091203    5001100

  2137+ *- ----       -------    --------   -----------                               *                          091203    5001200

  2138+ *- 2009-12-08 VGato      RA010004   Copy Book Written                         *                          091208    5001300

  2139+ *                                                                             *                          091203    5001400

  2140+ *-----------------------------------------------------------------------------*                          091203    5001500

  2141+ /If Defined (cpyGetContactInfo_PR)                                                                       100318    5001600

            LINES EXCLUDED: 3

  2142+ /EndIf                                                                                                   091210    5002000

  2143+                                                                                                          091210    5002100

  2144+ /If Defined (cpyGetContactInfo_DS)                                                                       100318    5002200

  2145+D ptrContact      S               *                                                                       100318    5002300

  2146+ *--                                                                                                      100315    5002400

  2147+D dsContact       Ds                  likeDs(dsConInfo) based(ptrContact)                                 100318    5002500

  2148+ *--                                                                                                      100318    5002600

  2149+D dsConInfo       Ds                  qualified                                                           100318    5002700

  2150+D  fName                        20A                                                                       100318    5002800

  2151+D  lName                        25A                                                                       100318    5002900

  2152+D  orgName                      30A                                                                       100318    5003000

  2153+D  taxId                        25A                                                                 RA01  100615    5003100

  2154+D  email                        50A                                                                       100318    5003200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     42

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2155+D  emlStatusCode                10A                                                                 RA01  100511    5003300

  2156+D  emlStatusDes                 25A                                                                 RA01  100511    5003400

  2157+D  lang                         20A                                                                       100318    5003500

  2158+D  primCon                      10S 0                                                                     100318    5003600

  2159+D  commMeth                     10A                                                                 RA01  100503    5003700

  2160+D  dsAddr                             likeDs(dsAddrInfo) dim(5)                                           100318    5003800

  2161+D  dsPhones                           likeDs(dsPhoneInfo) dim(5)                                          100318    5003900

  2162+D  dsOther                            likeDs(dsOtherInfo) dim(25)                                         100318    5004000

  2163+D  ErrorId                       7A   inz                                                                 100318    5004100

  2164+D  ErrorMsg                     80A   inz                                                                 100318    5004200

  2165+ *--                                                                                                      100315    5004300

  2166+D dsAddrInfo      Ds                  dim(5) qualified inz                                                100322    5004400

  2167+D  paId                         10S 0                                                                     100318    5004500

  2168+D  addrType                     10A                                                                       100318    5004600

  2169+D  line1                        25A                                                                       100318    5004700

  2170+D  line2                        25A                                                                       100318    5004800

  2171+D  line3                        25A                                                                       100318    5004900

  2172+D  city                         15A                                                                       100318    5005000

  2173+D  zipCode                       9A                                                                       100318    5005100

  2174+D  country                      10A                                                                       100318    5005200

  2175+D  territory                    10A                                                                       100318    5005300

  2176+D  statusCode                   10A                                                                 RA01  100503    5005400

  2177+D  statusDes                    25A                                                                       100318    5005500

  2178+D  enterprise                   10A                                                                       100318    5005600

  2179+D  stsChgRsn                    10A                                                                       100318    5005700

  2180+D  usagePty                     10A                                                                       100318    5005800

  2181+ *--                                                                                                      100315    5005900

  2182+D dsPhoneInfo     Ds                  dim(5) qualified inz                                                100315    5006000

  2183+D  phId                         10S 0                                                                     100318    5006100

  2184+D  phType                        5A                                                                       100318    5006200

  2185+D  phCountryId                   6A                                                                       100318    5006300

  2186+D  phCountryCode                 6A                                                                       100318    5006400

  2187+D  areaCode                      6A                                                                       100318    5006500

  2188+D  phoneNo                      10A                                                                       100318    5006600

  2189+D  ext                           5S 0                                                                     100318    5006700

  2190+D  enterprise                   10A                                                                       100318    5006800

  2191+D  statusCode                   30A                                                                 RA01  100503    5006900

  2192+D  statusDes                    25A                                                                       100503    5007000

  2193+D  usagePty                     30A                                                                       100318    5007100

  2194+D  cellTerms                      N                                                                       100318    5007200

  2195+D  doNotCall                      N                                                                       100318    5007300

  2196+D  predictive                     N                                                                       100318    5007400

  2197+ *--                                                                                                      100318    5007500

  2198+D dsOtherInfo     Ds                  qualified inz                                                       100322    5007600

  2199+D   fName                       30A                                                                       100318    5007700

  2200+D   lName                       30A                                                                       100318    5007800

  2201+D   orgName                     30A                                                                       100318    5007900

  2202+ /EndIf                                                                                                   091210    5008000

  2203+                                                                                                          100226    5008100

  2204+ /If Defined (cpyGetContactInfo_Fields)                                                                   100318    5008200

            LINES EXCLUDED: 3

  2205+ /EndIf                                                                                                   091208    5008600

  2206  /Undefine cpyGetContactInfo_DS                                                                           100312     009800

  2207                                                                                                           091210     009900

  2208 d VARYINGDATAOFFSET...                                                                                    091204     010000

  2209 d                 c                   const(2)                                                            091204     010100

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     43

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2210 d SOAP            s          32767a   varying                                                             091204     010200

  2211 d SOAP2           s          32767a   varying                                                       RA01  100212     010300

  2212 d xml_value       s             50a   varying                                                             091204     010400

  2213 d wait            s              1a                                                                       091204     010500

  2214 d valid           s              1a                                                                       091204     010600

  2215 d error           s              1n                                                                       091204     010700

  2216 d rc              s             10i 0                                                                     091204     010800

  2217 d svdepth         s             10I 0                                                               040E_ 101019     010900

  2218 d s               s              5s 0                                                                     091204     011000

  2219 d e               s              5s 0                                                                     091204     011100

  2220 d var_pos         s              5s 0                                                                     091204     011200

  2221 d var_name        s             50a                                                                       091204     011300

  2222 d last_var_name   s             50a                                                                 040E  101018     011400

  2223 d path_pos        s              5s 0                                                                     091204     011500

  2224 d path_name       s             50a                                                                       091204     011600

  2225 d Ep              s             80a                                                                       091204     011700

  2226 d XMLMemSumDir    s             80a                                                                       091204     011800

  2227 d Primary         s              1a                                                                       091207     011900

  2228 d ptr             s               *                                                                       091207     012000

  2229 d Quote           c                   x'7D'                                                               091204     012100

  2230 d att1            s            256a                                                                 RA01  100212     012200

  2231 d att2            s            256a                                                                 RA01  100212     012300

  2232 d att3            s            256a                                                                 RA01  100212     012400

  2233 d att4            s            256a                                                                 RA01  100212     012500

  2234 d procedure       S             15a   inz('               ')                                        RA01  100212     012600

  2235 d active          s              1    inz                                                           RA01  100212     012700

  2236 d retcod          s              1    inz                                                           RA01  100212     012800

  2237                                                                                                     RA01  100212     012900

  2238 d P@ds          Esds                  extname(IIPGDS)                                               RA01  100212     013000

        *--------------------------------------------------------------------------------------------*                     6

        * Data structure . . . . . . :  P@DS                                                         *                     6

        * External format  . . . . . :  IIPGDSR : FILELIB/IIPGDS                                     *                     6

        * Format text  . . . . . . . :  Program Stat. Rec                                            *                     6

        *--------------------------------------------------------------------------------------------*                     6

  2239=D P@PROG                        10A                                        Procedure Name *PROC                     6000001

  2240=D P@STAT                         5S 0                                      Status Code *STATUS                      6000002

  2241=D P@PSTT                         5S 0                                      Previous Status Code                     6000003

  2242=D P@RPGS                         8A                                        RPG Source Statement                     6000004

  2243=D P@RPGR                         8A                                        RPG Routine *ROUTINE                     6000005

  2244=D P@PARM                         3S 0                                      Number of Parms Passed                   6000006

  2245=D P@EXPT                         3A                                        Exception type CPF/MCH                   6000007

  2246=D P@EXPN                         4A                                        Exception number Id                      6000008

  2247=D P@MIOD                         8B 0                                      MI/ODT                                   6000009

  2248=D P@WRKM                        30A                                        Work Area for Messages                   6000010

  2249=D P@LIB                         10A                                        Name of Library                          6000011

  2250=D P@CPF                         80A                                        CPF Messages                             6000012

  2251=D P@RSV                         30A                                        Reserved                                 6000013

  2252=D P@LSTF                         8A                                        Last File Used                           6000014

  2253=D P@STLF                        35A                                        Status info on the Last File             6000015

  2254=D P@JOBN                        10A                                        Job Name                                 6000016

  2255=D P@JOBU                        10A                                        Job User Name                            6000017

  2256=D P@JOB#                         6S 0                                      Job Number                               6000018

  2257=D P@JDTE                         6S 0                                      Job Date in UDATE format                 6000019

  2258=D P@PDTE                         6S 0                                      Date Pgm Exc in UDATE format             6000020

  2259=D P@PTIM                         6S 0                                      Time Pgm Exc in HMS format               6000021

  2260=D P@CDTE                         6A                                        Date Pgm was compiled                    6000022

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     44

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2261=D P@CTIM                         6A                                        Time Pgm was compiled                    6000023

  2262=D P@CLVL                         4A                                        Level of compiler                        6000024

  2263=D P@CSRC                        10A                                        Source File name                         6000025

  2264=D P@CSLB                        10A                                        Source Library name                      6000026

  2265=D P@CSMB                        10A                                        Source File Member name                  6000027

  2266=D P@CPGM                        10A                                        Program name                             6000028

  2267=D P@CMOD                        10A                                        Module name                              6000029

  2268=D P@NUS1                         4A                                        Not used                                 6000030

  2269=D P@USER                        10A                                        Current User Profile                     6000031

  2270=D P@NUS2                        62A                                        Not used                                 6000032

  2271 d Contact         s             10S 0                                                               RA01  100218     013100

  2272                                                                                                           091207     013200

  2273 D #seq            S              4S 0 inz(0)                                                              091208     013300

  2274 D #i              S              5S 0 inz(0)                                                              091208     013400

  2275 d true            S              1a   Inz('1')                                                            091207     013500

  2276 d false           S              1a   Inz('0')                                                            091207     013600

  2277 d request         S             50A   Inz(*Blanks)                                                        100209     013700

  2278 d soapaction      S            200A   Inz(*Blanks)                                                        100218     013800

  2279 d timestamp       S             19A                                        2010-02-15T13:03:00      RA01  100215     013900

  2280 d datefld         S               D                                        2010-02-15               RA01  100215     014000

  2281 d timefld         S               T                                        13:03:00                 RA01  100215     014100

  2282 d #cn             s              5s 0 Inz                                  Other Con Nam Cntr             100318     014200

  2283 d #pa             s              5s 0 Inz                                  Postal Addr Counter            100318     014300

  2284 d #ph             s              5s 0 Inz                                  Phones Counter                 100318     014400

  2285 d byte10          s             10a   Inz                                  10 bytes char            RA01  100722     014500

  2286 d byte5           s              5a   Inz                                  5 bytes char             RA01  100722     014600

  2287 d len             s              5S 0 Inz                                  field length             RA01  100722     014700

  2288                                                                                                           100301     014800

  2289 D RtvMsgD         pr           132a                                                                 RA01  100301     014900

  2290 D   pMsgId                       7a   Const                                                         RA01  100301     015000

  2291 D   pMsgDta                     15a   Const                                                         RA01  100301     015100

  2292                                                                                                           091204     015200

  2293  *------------------------------------------                                                              091210     015300

  2294=IMBRFLCMTDT                                                                                                         7000001

        *--------------------------------------------------------------------------------------------*                     7

        * RPG record format  . . . . :  MBRFLCMTDT                                                   *                     7

        * External format  . . . . . :  MBRFLCMTDT : FILELIB/MBFFLCMTDT                              *                     7

        *--------------------------------------------------------------------------------------------*                     7

  2295=I                             A    1   10  FN_CODETP                       Code Type                                7000002

  2296=I                             A   11   20  FN_CODE                         Comment Code                             7000003

  2297=I                             P   21   26 2FN_SEQ                          Sequence Nbr                             7000004

  2298=I                             A   27   91  FN_CMNT                         Comments                                 7000005

  2299=I                             A   92  101  FN_WHOCHG                       Who Changed                              7000006

  2300=I                             Z  102  127  FN_STAMP                        Time Changed                             7000007

  2301=IRPRCTRYC                                                                                                           8000001

        *--------------------------------------------------------------------------------------------*                     8

        * RPG record format  . . . . :  RPRCTRYC                                                     *                     8

        * External format  . . . . . :  RPRCTRYC : FILELIB/RPLCTRY3                                  *                     8

        * Format text  . . . . . . . :  COUNTRY CODE TABLE                                           *                     8

        *--------------------------------------------------------------------------------------------*                     8

  2302=I                             A    1    3  RCNTRC                          COUNTRY CODE 3 CHAR.                     8000002

  2303=I                             A    4   18  RCNTNA                          COUNTRY NAME                             8000003

  2304=I                             A   19   19  RCNTGP                          COUNTRY GROUP                            8000004

  2305=I                             A   20   20  ORIGN                           ORIGINATION TYPE                         8000005

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     45

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2306=I                             A   21   23  CSSERV                          SERVICING OFFICE                         8000006

  2307=I                             A   24   26  DSTOFC                          DISTRIBUTION OFFICE                      8000007

  2308=I                             A   27   27  PROOFC                          PROCESSING OFFICE                        8000008

  2309=I                             A   28   28  RMTYPE                          TYPE WCP OR GOLD CARD                    8000009

  2310=I                             A   29   43  RCPFMT                          PHONE FORMAT                             8000010

  2311=I                             S   44   52 0RCAFID                          ADDRESS FORMAT ID                        8000011

  2312=I                             A   53   55  TLMKOFC                         TELEMARKETING OFFICE                     8000012

  2313=I                             A   56   61  RCDFEERGN                       DOMESTIC FEE REGION                      8000013

  2314=I                        *ISO-D   62   71  ATDATE                          DATE STAMP                               8000014

  2315=I                        *ISO.T   72   79  ATTIME                          TIME STAMP                               8000015

  2316=I                             A   80   89  ATUSR                           USER ID                                  8000016

  2317=I                             A   90   90  RCDVARPM                        VARIANCE PLUS/MINUS                      8000017

  2318=I                             P   91   96 2RCDVARPCNT                      VARIANCE %                               8000018

  2319=I                             A   97   97  RCDTAXPM                        TAX PLUS/MINUS                           8000019

  2320=I                             P   98  103 2RCDTAXPCNT                      TAX %                                    8000020

  2321=I                             A  104  104  ROFFNEW                         OFFER NEW IP/GC                          8000021

  2322=I                             A  105  106  RISOCTY2                        2 BYTE ISO CODE                          8000022

  2323=I                             A  107  109  RISOCTY3                        3 BYTE ISO CODE                          8000023

  2324=I                             A  110  112  RISONBR3                        3 DIGIT ISO NBR                          8000024

  2325 P getContactInfo  B                   export                                                              100318     015400

  2326  *------------------------------------------                                                              091210     015500

  2327 D getContactInfo  PI              *                                                                       100318     015600

  2328 D   pMemb#                       7S 0 const                                Member #                       100212     015700

  2329 D   pContact                    10S 0 const options(*nopass)               Contact ID                     100318     015800

  2330 D  memberContact  S            256A                                                                       100319     015900

  2331                                                                                                           100301     016000

  2332  /free                                                                                                    091210     016100

  2333   #cn = 0;                                                                                                100318     016200

  2334   #pa = 0;                                                                                                100318     016300

  2335   #ph = 0;                                                                                                100318     016400

  2336   last_var_name = *blanks;                                                                          040E  101018     016500

  2337   clear dsConInfo;                                                                                        100319     016600

  2338   request = 'getContactInfo';                                                                       RA01  100312     016700

  2339   SOAP2=*Blanks;                                                                                    040E_ 101019     016800

  2340                                                                                                           100312     016900

  2341   // set SOAP var..                                                                                       100312     017000

  2342                                                                                                           100312     017100

  2343   datefld = %date();                                                                                      100315     017200

  2344   timefld = %time();                                                                                      100315     017300

  2345   timestamp = %char(datefld) + 'T'                                                                        100315     017400

  2346             + %xlate('.':':':%char(timefld));                                                             100315     017500

  2347                                                                                                           100315     017600

  2348     if %addr(pContact) <> *null and pContact <> 0;                                              B01       100929     017700

  2349        memberContact = %trim(memberContact)                                                      01       100319     017800

  2350          +'<as4:ContactId>'+%trim(%editc(pContact:'Z'))                                          01       100319     017900

  2351          +'</as4:ContactId> ';                                                                   01       100319     018000

  2352     endif;                                                                                      E01       100319     018100

  2353     memberContact = %trim(memberContact)                                                                  100319     018200

  2354        +'<as4:MembershipNumber>'+%trim(%editc(pMemb#:'Z'))                                                100319     018300

  2355        +'</as4:MembershipNumber>';                                                                        100319     018400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     46

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2356                                                                                                           100319     018500

  2357     SOAP =                                                                                                100312     018600

  2358    '<soapenv:Envelope '                                                                                   100312     018700

  2359   +'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '                                           100312     018800

  2360   +'xmlns:as4="http://services.intervalintl.com/schema/as400dataservice/'                                 100318     018900

  2361   +'as400DataMessages" '                                                                                  100318     019000

  2362   +'xmlns:head="http://services.intervalintl.com/schema/common/headerrq"> '                               100312     019100

  2363   +'<soapenv:Header/> <soapenv:Body> '                                                                    100312     019200

  2364   +'<as4:GetBasicContactInfoRequest> '                                                                    100318     019300

  2365   +'<head:header CountryCd="?" LanguageCd="?" TerminalId="?" '                                            100312     019400

  2366   +'TransactionChannel="?" EchoToken="?" '                                                                100312     019500

  2367   +'TimeStamp="' + timestamp + '" ' + 'Target="Production" '                                              100312     019600

  2368   +'Version="0.1" RetransmissionIndicator="1" MaxResponses="100" '                                        100312     019700

  2369   +'MoreDataEchoToken="?" SessionId="?" InteractionType="?" '                                             100312     019800

  2370   +'InteractionUser="?"> '                                                                                100312     019900

  2371   +'<head:Requestor Id="?" IdContext="?" Password="?"/> '                                                 100312     020000

  2372   +'</head:header> '                                                                                      100312     020100

  2373   +%trim(memberContact)                                                                                   100319     020200

  2374   +'</as4:GetBasicContactInfoRequest>'                                                                    100318     020300

  2375   +'</soapenv:Body> </soapenv:Envelope>';                                                                 100312     020400

  2376   //                                                                                                      100312     020500

  2377                                                                                                           100312     020600

  2378   //SOAP2=*Blanks; <- commented out - was causing WS.ERRORS not to write the O rec->WSFLOGS         040E_ 101019     020700

  2379   dsConInfo.ErrorId = *blanks;                                                                      RA01  100630     020800

  2380   dsConInfo.ErrorMsg = *blanks;                                                                     RA01  100630     020900

  2381                                                                                                           100212     021000

  2382   procedure='GetContactInfo';                                                                       RA01  100312     021100

  2383   dou retcod='C' or retcod='c';                                                                 B01 RA01  100212     021200

  2384       active=getActiveFlg(procedure);                                                            01 RA01  100212     021300

  2385       if active='N';                                                                            B02 RA01  100212     021400

  2386          retcod=sndrcverr('SRV0004':procedure);                                                  02 RA01  100212     021500

  2387          ErrorId='SRV0004';                                                                      02 RA01  100301     021600

  2388          ErrorMsg=rtvmsgD('SRV0004':procedure);                                                  02 RA01  100301     021700

  2389          dsConInfo.ErrorId = ErrorId;                                                            02 RA01  100318     021800

  2390          dsConInfo.ErrorMsg = ErrorMsg;                                                          02 RA01  100318     021900

  2391          wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                        02 RA01  100301     022000

  2392               pMemb#:Contact:ErrorId:ErrorMsg:SOAP:SOAP2);                                       02 RA01  100301     022100

  2393          ptrContact = %addr(dsConInfo);                                                          02 RA01  100318     022200

  2394          return ptrContact;                                                                      02 RA01  100318     022300

  2395       else;                                                                                     X02 RA01  100212     022400

  2396          leave;                                                                                  02 RA01  100212     022500

  2397            endif;                                                                               E02 RA01  100212     022600

  2398   enddo;                                                                                        E01 RA01  100212     022700

  2399                                                                                                           091210     022800

  2400   http_setCCSIDs(1208: 0);                                                                                091210     022900

  2401   http_debug(*ON);                                                                                        091210     023000

  2402   http_xproc( HTTP_POINT_ADDL_HEADER : %paddr(Add_SOAPACTION) );                                          091210     023100

  2403   open(e) mbfflcmtdt;                                                                                     091210     023200

  2404   Ep = 'http://' + %trim(GetValue('WEBSERVICE':'ENDPOINTA4')) + Quote;                                    100318     023300

  2405   soapaction = 'http://'+%trim(GetValue('WEBSERVICE':'SOAPACTA4'));                                       100318     023400

  2406   close(e) mbfflcmtdt;                                                                                    091210     023500

  2407                                                                                                           091210     023600

  2408   dou retcod='C' or retcod='c';                                                                 B01 RA01  100212     023700

  2409   error=*off;                                                                                    01       091210     023800

  2410   ErrorId=*Blanks;                                                                               01       091214     023900

  2411   ErrorMsg=*Blanks;                                                                              01       091214     024000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     47

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2412   rc = http_post_xml( Ep: %addr(SOAP) + VARYINGDATAOFFSET: %len(SOAP):                           01       100209     024100

  2413        *NULL: %paddr(MapXmlData): %addr(xml_value): HTTP_TIMEOUT:                                01       100209     024200

  2414        HTTP_USERAGENT: 'text/xml; charset=UTF-8');                                               01       100209     024300

  2415                                                                                                           100209     024400

  2416   ErrorId = dsConInfo.ErrorId;                                                                   01       100318     024500

  2417   ErrorMsg = dsConInfo.ErrorMsg;                                                                 01       100318     024600

  2418                                                                                                           100209     024700

  2419   select;                                                                                       B02       100209     024800

  2420   when rc=1;                                                                                    X02 RA01  100223     024900

  2421     if error=*on and ErrorId='ERR0476';                                                         B03 RA01  100223     025000

  2422        //retcod=sndrcverr('ERR0476':procedure); -- Commented out per 8/05/2010 meeting              RA01  100805     025100

  2423        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          03 RA01  100223     025200

  2424                  pMemb#:Contact:ErrorId:ErrorMsg:SOAP:SOAP2);                                    03 RA01  100223     025300

  2425        leave;                                                                                    03 RA01  100825     025400

  2426     else;                                                                                       X03 RA01  100223     025500

  2427        leave;                                                                                    03 RA01  100223     025600

  2428     endif;                                                                                      E03 RA01  100223     025700

  2429   when rc=0;                                                                                    X02 RA01  100212     025800

  2430        retcod=sndrcverr('SRV0001':procedure);                                                    02 RA01  100212     025900

  2431        SOAP2=*blanks;                                                                            02 RA01  100212     026000

  2432        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          02 RA01  100218     026100

  2433                  pMemb#:Contact:'SRV0001':'   ':SOAP:SOAP2);                                     02 RA01  100218     026200

  2434        ErrorId='SRV0001';                                                                        02 RA01  100301     026300

  2435        ErrorMsg=rtvmsgD('SRV0001':'  ');                                                         02 RA01  100301     026400

  2436   when rc=-1;                                                                                   X02 RA01  100212     026500

  2437        retcod=sndrcverr('SRV0003':procedure);                                                    02 RA01  100212     026600

  2438        SOAP2=*blanks;                                                                            02 RA01  100212     026700

  2439        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          02 RA01  100218     026800

  2440                  pMemb#:Contact:'SRV0003':'   ':SOAP:SOAP2);                                     02 RA01  100218     026900

  2441        ErrorId='SRV0003';                                                                        02 RA01  100301     027000

  2442        ErrorMsg=rtvmsgD('SRV0003':'  ');                                                         02 RA01  100301     027100

  2443   when rc>1;                                                                                    X02 RA01  100212     027200

  2444        retcod=sndrcverr('SRV0002':procedure);                                                    02 RA01  100212     027300

  2445        SOAP2=*blanks;                                                                            02 RA01  100212     027400

  2446        wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                          02 RA01  100218     027500

  2447                  pMemb#:Contact:'SRV0002':'   ':SOAP:SOAP2);                                     02 RA01  100218     027600

  2448        ErrorId='SRV0002';                                                                        02 RA01  100301     027700

  2449        ErrorMsg=rtvmsgD('SRV0002':'  ');                                                         02 RA01  100301     027800

  2450   endsl;                                                                                        E02       100209     027900

  2451   enddo;                                                                                        E01 RA01  100212     028000

  2452                                                                                                           091210     028100

  2453   wrtWSLogs(procedure:p@jobn:p@user:p@job#:p@prog:                                                  RA01  100218     028200

  2454             pMemb#:Contact:ErrorId:ErrorMsg:SOAP:SOAP2);                                            RA01  100218     028300

  2455                                                                                                           100301     028400

  2456   dsConInfo.ErrorId = ErrorId;                                                                      RA01  100318     028500

  2457   dsConInfo.ErrorMsg = ErrorMsg;                                                                    RA01  100318     028600

  2458                                                                                                           100301     028700

  2459   ptrContact = %addr(dsConInfo);                                                                          100318     028800

  2460   return ptrContact;                                                                                      100318     028900

  2461   *inlr = *on;                                                                                            091210     029000

  2462                                                                                                           091210     029100

  2463  /end-free                                                                                                091210     029200

  2464  *-----------------                                                                                       091210     029300

  2465 P                 e                                                                                       091210     029400

  2466                                                                                                           100209     029500

  2467                                                                                                           100312     029600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     48

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2468  *-----------------                                                                                       091207     029700

  2469  *-----------------                                                                                       091207     029800

  2470  *-----------------                                                                                       091207     029900

  2471 P MapXmlData      B                                                                                       091202     030000

  2472 D MapXmlData      PI                                                                                      091202     030100

  2473 D   xml_data                    52a   varying                                                             091202     030200

  2474 D   depth                       10I 0 value                                                               091202     030300

  2475 D   name                      1024A   varying const                                                       091202     030400

  2476 D   path                     24576A   varying const                                                       091202     030500

  2477 D   value                    65535A   varying const                                                       091202     030600

  2478 D   attrs                         *   dim(32767)                                                          091210     030700

  2479 D                                     const options(*varsize)                                             091202     030800

  2480                                                                                                           100511     030900

  2481  /free                                                                                                    091202     031000

  2482       // Find variable...                                                                                 091204     031100

  2483       var_name = name;                                                                                    091204     031200

  2484       var_pos  = %scan(':':var_name);                                                                     091204     031300

  2485       var_name = %subst(var_name:var_pos + 1);                                                            091204     031400

  2486                                                                                                           091202     031500

  2487       // Find path...                                                                                     091204     031600

  2488       if path>*blanks;                                                                          B01       091204     031700

  2489          s=0;                                                                                    01       091204     031800

  2490          e = %checkR(' ':path);                                                                  01       091204     031900

  2491          dou s >= e;                                                                            B02       091204     032000

  2492              path_pos = %scan(':':path:s+1);                                                     02       091204     032100

  2493              if path_pos > 0;                                                                   B03       091204     032200

  2494                 path_name = %subst(path:s+1:path_pos-(s+1));                                     03       091204     032300

  2495                 s = path_pos;                                                                    03       091204     032400

  2496              else;                                                                              X03       091204     032500

  2497                 path_name = %subst(path:s+1:e-s);                                                03       091204     032600

  2498                 leave;                                                                           03       091204     032700

  2499              endif;                                                                             E03       091204     032800

  2500          enddo;                                                                                 E02       091204     032900

  2501       endif;                                                                                    E01       091204     033000

  2502                                                                                                           091215     033100

  2503       // <Header>                     // 040E_                                                            101019     033200

  2504          if (var_name = 'header');    // 040E_                                                  B01       101019     033300

  2505             clear SOAP2;              // 040E_                                                   01       101019     033400

  2506             att1 = %str(attrs(1));    // 040E_                                                   01       101019     033500

  2507             att2 = %str(attrs(2));    // 040E_                                                   01       101019     033600

  2508             att3 = *blanks;           // 040E_                                                   01       101019     033700

  2509             att4 = *blanks;           // 040E_                                                   01       101019     033800

  2510             svdepth=999;              // 040E_                                                   01       101019     033900

  2511          endif;                       // 040E_                                                  E01       101019     034000

  2512                                                                                                           101019     034100

  2513       // <First & Last Name>                                                                              100615     034200

  2514       if path_name='GetBasicContactInfoResponse';                                               B01       100318     034300

  2515          if (var_name = 'header');                                                              B02       100802     034400

  2516            clear dsConInfo;                                                                      02       100802     034500

  2517            #ph=0;                                                                                02       100802     034600

  2518          endif;                                                                                 E02       100802     034700

  2519          if (var_name = 'FirstName');                                                           B02       100318     034800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     49

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2520             xml_data = value;                                                                    02       091215     034900

  2521             dsConInfo.fName = %trim(xml_data);                                                   02       100318     035000

  2522          endif;                                                                                 E02       091215     035100

  2523          // <LastName>                                                                                    100318     035200

  2524          if (var_name = 'LastName');                                                            B02       100318     035300

  2525             xml_data = value;                                                                    02       100318     035400

  2526             dsConInfo.lName = %trim(xml_data);                                                   02       100318     035500

  2527          endif;                                                                                 E02       100318     035600

  2528          if (var_name = 'OrgName');                                                             B02       100615     035700

  2529             dsConInfo.orgName = %trim(value);                                                    02       100615     035800

  2530          endif;                                                                                 E02       100615     035900

  2531       endif;                                                                                    E01       100318     036000

  2532                                                                                                           100615     036100

  2533       // <Tax Id>  ? - Is it part of GetBasicContact Info Response above or by itself?                    100615     036200

  2534       if path_name='GetBasicContactInfoResponse';                                               B01       100622     036300

  2535          if (var_name = 'TaxId');                                                               B02       100615     036400

  2536             xml_data = value;                                                                    02       100615     036500

  2537             dsConInfo.taxId = %trim(xml_data);                                                   02       100615     036600

  2538          endif;                                                                                 E02       100615     036700

  2539       endif;                                                                                    E01       100615     036800

  2540                                                                                                           100318     036900

  2541       // <Email>                                                                                          100318     037000

  2542       if path_name='Email';                                                                     B01       100318     037100

  2543          if (var_name = 'Email');                                                               B02       100504     037200

  2544             xml_data = value;                                                                    02       100318     037300

  2545             dsConInfo.email = %trim(xml_data);                                                   02       100318     037400

  2546          endif;                                                                                 E02       100318     037500

  2547       endif;                                                                                    E01       100318     037600

  2548                                                                                                           100511     037700

  2549       // Email Status                                                                               RA01  100511     037800

  2550       if %scan('Email':path) > 0;                                                               B01 RA01  100511     037900

  2551          if path_name = 'Status';                                                               B02 RA01  100511     038000

  2552             if (var_name = 'code');                                                             B03 RA01  100622     038100

  2553                xml_data = value;                                                                 03 RA01  100511     038200

  2554                dsConInfo.emlStatusCode = %trim(xml_data);                                        03 RA01  100511     038300

  2555             endif;                                                                              E03 RA01  100511     038400

  2556             if (var_name = 'description');                                                      B03 RA01  100622     038500

  2557                xml_data = value;                                                                 03 RA01  100511     038600

  2558                dsConInfo.emlStatusDes = %trim(xml_data);                                         03 RA01  100511     038700

  2559             endif;                                                                              E03 RA01  100511     038800

  2560          endif;                                                                                 E02 RA01  100511     038900

  2561       endif;                                                                                    E01 RA01  100511     039000

  2562                                                                                                           101118     039100

  2563       // <CommunicationLanguagePreference>                                                          040E  101118     039200

  2564       if var_name='CommunicationLanguagePreference';                                            B01 040E  101118     039300

  2565           xml_data = value;                                                                      01 040E  101118     039400

  2566           dsConInfo.lang = %trim(xml_data);                                                      01 040E  101118     039500

  2567       endif;                                                                                    E01 040E  101118     039600

  2568                                                                                                           100318     039700

  2569       // <CommunicationMethodPreference>                                                            RA01  100503     039800

  2570       if path_name='CommunicationMethodPreference';                                             B01 RA01  100503     039900

  2571          if (var_name = 'Code');                                                                B02 RA01  100503     040000

  2572             xml_data = value;                                                                    02 RA01  100503     040100

  2573             dsConInfo.commMeth = %trim(xml_data);                                                02 RA01  100503     040200

  2574          endif;                                                                                 E02 RA01  100503     040300

  2575       endif;                                                                                    E01 RA01  100503     040400

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     50

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2576                                                                                                           100503     040500

  2577       // <PrimaryContactId>                                                                               100318     040600

  2578       if path_name='GetBasicContactInfoResponse';                                               B01       100318     040700

  2579          if (var_name = 'PrimaryContactId');                                                    B02       100318     040800

  2580             //                                                                                            100722     040900

  2581             //evalr byte10 = %trim(value);                                                                100722     041000

  2582             //byte10 = %xlate(' ':'0':byte10);                                                            100722     041100

  2583             //dsConInfo.primCon =                                                                         100722     041200

  2584             //          %dec(%trim(byte10):10:0);                                                         100722     041300

  2585             len = %checkr(' ':value);                                                            02       100722     041400

  2586             if len > 0 and len <= 10;                                                           B03       100722     041500

  2587                dsConInfo.primCon =                                                               03       100722     041600

  2588                       %dec(%trim(value):10:0);                                                   03       100722     041700

  2589             endif;                                                                              E03       100722     041800

  2590             //                                                                                            100722     041900

  2591          endif;                                                                                 E02       100318     042000

  2592       endif;                                                                                    E01       100318     042100

  2593                                                                                                           100318     042200

  2594       // <PostalAddress>                                                                                  100318     042300

  2595       if path_name='PostalAddress';                                                             B01       100318     042400

  2596          if (var_name = 'Id');                                                                  B02       100318     042500

  2597             #pa = #pa + 1;                                                                       02       100318     042600

  2598             evalr byte10 = %trim(value);                                                         02       100722     042700

  2599             len = %checkr(' ':value);                                                            02       100722     042800

  2600             if len > 0 and len <= 10;                                                           B03       100722     042900

  2601                dsConInfo.dsAddr(#pa).paId =                                                      03       100722     043000

  2602                       %dec(%trim(value):10:0);                                                   03       100722     043100

  2603             endif;                                                                              E03       100722     043200

  2604          endif;                                                                                 E02       100318     043300

  2605          if (var_name = 'PostalAddrTypeCode');                                                  B02       100318     043400

  2606             dsConInfo.dsAddr(#pa).addrType = %trim(value);                                       02       100318     043500

  2607          endif;                                                                                 E02       100318     043600

  2608          if (var_name = 'AddrLine1');                                                           B02       100318     043700

  2609             dsConInfo.dsAddr(#pa).line1 = %trim(value);                                          02       100318     043800

  2610          endif;                                                                                 E02       100318     043900

  2611          if (var_name = 'AddrLine2');                                                           B02       100318     044000

  2612             dsConInfo.dsAddr(#pa).line2 = %trim(value);                                          02       100318     044100

  2613          endif;                                                                                 E02       100318     044200

  2614          if (var_name = 'AddrLine3');                                                           B02       100318     044300

  2615             dsConInfo.dsAddr(#pa).line3 = %trim(value);                                          02       100318     044400

  2616          endif;                                                                                 E02       100318     044500

  2617          if (var_name = 'CityName');                                                            B02       100318     044600

  2618             dsConInfo.dsAddr(#pa).City = %trim(value);                                           02       100318     044700

  2619          endif;                                                                                 E02       100318     044800

  2620          if (var_name = 'ZipCode');                                                             B02       100318     044900

  2621             dsConInfo.dsAddr(#pa).zipCode = %trim(value);                                        02       100318     045000

  2622          endif;                                                                                 E02       100318     045100

  2623          if (var_name = 'CountryCode');                                                         B02       100318     045200

  2624             dsConInfo.dsAddr(#pa).country = *blanks;                                             02       100322     045300

  2625             risocty3 = %trim(value);                                                             02       100322     045400

  2626             chain risocty3 rplctry3;                                                             02       100322     045500

  2627             if %found(rplctry3);                                                                B03       100322     045600

  2628                dsConInfo.dsAddr(#pa).country = rcntrc;                                           03       100322     045700

  2629             endif;                                                                              E03       100322     045800

  2630          endif;                                                                                 E02       100318     045900

  2631          if (var_name = 'TerritoryCode');                                                       B02       100318     046000

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     51

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2632             dsConInfo.dsAddr(#pa).territory = %trim(value);                                      02       100318     046100

  2633          endif;                                                                                 E02       100318     046200

  2634          if (var_name = 'EnterpriseCode');                                                      B02       100318     046300

  2635             dsConInfo.dsAddr(#pa).enterprise = %trim(value);                                     02       100318     046400

  2636          endif;                                                                                 E02       100318     046500

  2637          if (var_name = 'UsagePriorityCode');                                                   B02       100318     046600

  2638             dsConInfo.dsAddr(#pa).usagePty = %trim(value);                                       02       100318     046700

  2639          endif;                                                                                 E02       100318     046800

  2640       endif;                                                                                    E01       100318     046900

  2641                                                                                                           100511     047000

  2642       // Postal Address Status - Used for Bad Address                                               RA01  100511     047100

  2643       if %scan('PostalAddress':path) > 0;                                                       B01 RA01  100511     047200

  2644          if (var_name = 'code');  // IES-7299 - changed from Code to code                       B02 RA01  100921     047300

  2645             dsConInfo.dsAddr(#pa).statusCode = %trim(value);                                     02 RA01  100511     047400

  2646          endif;                                                                                 E02 RA01  100511     047500

  2647          if (var_name = 'description'); // IES-7299 - changed from Description to description   B02 RA01  100921     047600

  2648             dsConInfo.dsAddr(#pa).statusDes = %trim(value);                                      02 RA01  100511     047700

  2649          endif;                                                                                 E02 RA01  100511     047800

  2650       endif;                                                                                    E01 RA01  100511     047900

  2651                                                                                                           100318     048000

  2652       // <Telephone>                                                                                      100318     048100

  2653       if path_name='Telephone';                                                                 B01       100318     048200

  2654          if (var_name = 'ContactTelephoneId');                                                  B02       100721     048300

  2655             #ph = #ph + 1;                                                                       02       100721     048400

  2656          endif;                                                                                 E02       100721     048500

  2657          if (var_name = 'TelephoneId');                                                         B02       100722     048600

  2658             len = %checkr(' ':value);                                                            02       100722     048700

  2659             if len > 0 and len <= 10;                                                           B03       100722     048800

  2660                dsConInfo.dsPhones(#ph).phId =                                                    03       100722     048900

  2661                       %dec(%trim(value):10:0);                                                   03       100722     049000

  2662             endif;                                                                              E03       100722     049100

  2663          endif;                                                                                 E02       100722     049200

  2664          if (var_name = 'TelephoneTypeCode');                                                   B02       100318     049300

  2665             dsConInfo.dsPhones(#ph).phType = %trim(value);                                       02       100318     049400

  2666          endif;                                                                                 E02       100318     049500

  2667          if (var_name = 'CountryCode');                                                         B02       100721     049600

  2668             dsConInfo.dsPhones(#ph).phCountryId = %trim(value);                                  02       100318     049700

  2669          endif;                                                                                 E02       100318     049800

  2670          if (var_name = 'CountryPhoneCode');                                                    B02       100318     049900

  2671             dsConInfo.dsPhones(#ph).phCountryCode = %trim(value);                                02       100318     050000

  2672          endif;                                                                                 E02       100318     050100

  2673          if (var_name = 'AreaCode');                                                            B02       100318     050200

  2674             dsConInfo.dsPhones(#ph).areaCode = %trim(value);                                     02       100318     050300

  2675          endif;                                                                                 E02       100318     050400

  2676          if (var_name = 'TelephoneNumber');                                                     B02       100721     050500

  2677             dsConInfo.dsPhones(#ph).phoneNo = %trim(value);                                      02       100318     050600

  2678          endif;                                                                                 E02       100318     050700

  2679          if (var_name = 'ExtensionNumber');                                                     B02       100318     050800

  2680             len = %checkr(' ':value);                                                            02       100722     050900

  2681             if len > 0 and len <= 5;                                                            B03       100722     051000

  2682                dsConInfo.dsPhones(#ph).ext =                                                     03       100722     051100

  2683                       %dec(%trim(value):10:0);                                                   03       100722     051200

  2684             endif;                                                                              E03       100722     051300

  2685          endif;                                                                                 E02       100318     051400

  2686          if (var_name = 'EnterpriseCode');                                                      B02       100318     051500

  2687             dsConInfo.dsPhones(#ph).enterprise = %trim(value);                                   02       100318     051600

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     52

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2688          endif;                                                                                 E02       100318     051700

  2689                                                                                                           100721     051800

  2690          if (var_name = 'UsagePriorityCode');                                                   B02       100318     051900

  2691             dsConInfo.dsPhones(#ph).usagePty = %trim(value);                                     02       100318     052000

  2692          endif;                                                                                 E02       100318     052100

  2693          if (var_name = 'CellTermsAcceptanceInd');                                              B02       100318     052200

  2694             select;                                                                             B03       100721     052300

  2695             when %trim(value) = 'true';                                                         X03       100721     052400

  2696                  dsConInfo.dsPhones(#ph).cellTerms = true;                                       03       100721     052500

  2697             when %trim(value) = 'false';                                                        X03       100721     052600

  2698                  dsConInfo.dsPhones(#ph).cellTerms = false;                                      03       100721     052700

  2699             endsl;                                                                              E03       100721     052800

  2700          endif;                                                                                 E02       100318     052900

  2701          if (var_name = 'DoNotCallInd');                                                        B02       100318     053000

  2702             select;                                                                             B03       100721     053100

  2703             when %trim(value) = 'true';                                                         X03       100721     053200

  2704                  dsConInfo.dsPhones(#ph).doNotCall = true;                                       03       100721     053300

  2705             when %trim(value) = 'false';                                                        X03       100721     053400

  2706                  dsConInfo.dsPhones(#ph).doNotCall = false;                                      03       100721     053500

  2707             endsl;                                                                              E03       100721     053600

  2708          endif;                                                                                 E02       100318     053700

  2709          if (var_name = 'PredictiveDialerInd');                                                 B02       100318     053800

  2710             dsConInfo.dsPhones(#ph).predictive = %trim(value);                                   02       100318     053900

  2711          endif;                                                                                 E02       100318     054000

  2712       endif;                                                                                    E01       100318     054100

  2713                                                                                                           100721     054200

  2714       // Telephone Status                                                                           RA01  100721     054300

  2715       if %scan('Telephone':path) > 0 and #ph > 0;                                               B01 RA01  100721     054400

  2716          if path_name = 'Status';                                                               B02 RA01  100721     054500

  2717             if (var_name = 'code');                                                             B03 RA01  100721     054600

  2718                xml_data = value;                                                                 03 RA01  100721     054700

  2719                dsConInfo.dsPhones(#ph).statusCode = %trim(value);                                03       100721     054800

  2720             endif;                                                                              E03 RA01  100721     054900

  2721             if (var_name = 'description');                                                      B03 RA01  100721     055000

  2722                dsConInfo.dsPhones(#ph).statusDes = %trim(value);                                 03       100721     055100

  2723             endif;                                                                              E03 RA01  100721     055200

  2724          endif;                                                                                 E02 RA01  100721     055300

  2725       endif;                                                                                    E01 RA01  100721     055400

  2726                                                                                                           100318     055500

  2727       // <OtherContactNames>                                                                              100318     055600

  2728       if path_name='OtherContactNames';                                                         B01       100318     055700

  2729       endif;                                                                                    E01       100318     055800

  2730       // <ContactName>                                                                                    100318     055900

  2731       if path_name='ContactName';                                                               B01       100318     056000

  2732          if (var_name = 'FirstName');                                                           B02       100318     056100

  2733             #cn = #cn + 1;                                                                       02       100318     056200

  2734             dsConInfo.dsOther(#cn).fName = %trim(value);                                         02       100318     056300

  2735          endif;                                                                                 E02       100318     056400

  2736          // Only load last name if last variable loaded was the first name                          040E  101018     056500

  2737          if (var_name = 'LastName') and                                                         B02 040E  101018     056600

  2738             (last_var_name = 'FirstName');                                                      B02 040E  101018     056700

  2739             dsConInfo.dsOther(#cn).lName = %trim(value);                                         02       100318     056800

  2740          endif;                                                                                 E02       100318     056900

  2741          if (var_name = 'OrgName');                                                             B02       100318     057000

  2742             #cn = #cn + 1;                                                                       02 040E  101007     057100

  2743             dsConInfo.dsOther(#cn).orgName = %trim(value);                                       02       100318     057200

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     53

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2744          endif;                                                                                 E02       100318     057300

  2745          last_var_name = var_name;                                                               01 040E  101018     057400

  2746       endif;                                                                                    E01       100318     057500

  2747                                                                                                           100318     057600

  2748       // <Errors>                                                                                         091204     057700

  2749       if path_name='Errors';                                                                    B01       091204     057800

  2750          if (var_name = 'Error');                                                               B02       091204     057900

  2751             xml_data = value;                                                                    02       091204     058000

  2752             error=*on;                                                                           02       091204     058100

  2753             ErrorId  = %str(attrs(2));                                                           02 RA01  100212     058200

  2754             ErrorMsg = %str(attrs(4));                                                           02 RA01  100212     058300

  2755             att1 = %str(attrs(1));                                                               02 RA01  100212     058400

  2756             att2 = %str(attrs(2));                                                               02 RA01  100212     058500

  2757             att3 = %str(attrs(3));                                                               02 RA01  100212     058600

  2758             att4 = %str(attrs(4));                                                               02 RA01  100212     058700

  2759             ErrorId  = %str(attrs(2));                                                           02       091207     058800

  2760             ErrorMsg = %str(attrs(4));                                                           02       091207     058900

  2761             dsConInfo.ErrorId  = ErrorId;                                                        02       100422     059000

  2762             dsConInfo.ErrorMsg = ErrorMsg;                                                       02       100422     059100

  2763          endif;                                                                                 E02       091204     059200

  2764       endif;                                                                                    E01       091204     059300

  2765                                                                                                           100318     059400

  2766       if path_name='Fault'                                                                      B01       100318     059500

  2767          and var_name='faultstring';                                                            B01       100318     059600

  2768          xml_data = value;                                                                       01       100318     059700

  2769          dsConInfo.ErrorId  = 'ERR0000';                                                         01       100318     059800

  2770          dsConInfo.ErrorMsg = %trim(xml_data);                                                   01       100318     059900

  2771       endif;                                                                                    E01       100318     060000

  2772                                                                                                           100212     060100

  2773       if depth<3;                                                                               B01 RA01  100212     060200

  2774          if path>*blanks;                                                                       B02 RA01  100212     060300

  2775             SOAP2 = SOAP2 + '<' + %trim(path);                                                   02 RA01  100212     060400

  2776          endif;                                                                                 E02 RA01  100212     060500

  2777       else;                                                                                     X01 RA01  100212     060600

  2778             SOAP2 = SOAP2 + '<' + %trim(path_name);                                              01 RA01  100212     060700

  2779       endif;                                                                                    E01 RA01  100212     060800

  2780       if att1>*blanks;                                                                          B01 RA01  100212     060900

  2781             SOAP2 = SOAP2 + ' ' + %trim(att1) + ' ' + %trim(att2)                                01 RA01  100212     061000

  2782                       + ' ' + %trim(att3) + ' ' + %trim(att4);                                   01 RA01  100212     061100

  2783             att1 = *blanks;                                                                      01 RA01  100212     061200

  2784             att2 = *blanks;                                                                      01 RA01  100212     061300

  2785             att3 = *blanks;                                                                      01 RA01  100212     061400

  2786             att4 = *blanks;                                                                      01 RA01  100212     061500

  2787       endif;                                                                                    E01 RA01  100212     061600

  2788       if value > *blanks;                                                                       B01 RA01  100212     061700

  2789             SOAP2 = SOAP2 + ' <' + %trim(name) + '> '                                            01 RA01  100212     061800

  2790                      + %trim(value) + ' ';                                                       01 RA01  100212     061900

  2791             xml_data=*blanks;                                                                    01 RA01  100212     062000

  2792             var_name=*blanks;                                                                    01 RA01  100212     062100

  2793       endif;                                                                                    E01 RA01  100212     062200

  2794       if depth<svdepth;                                                                         B01 040E_ 101019     062300

  2795          SOAP2 = SOAP2 + '>';                                                                    01 040E_ 101019     062400

  2796          svdepth=depth;                                                                          01 040E_ 101019     062500

  2797       endif;                                                                                    E01 040E_ 101019     062600

  2798                                                                                                           100212     062700

  2799  /end-free                                                                                                091202     062800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     54

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2800  *-----------------                                                                                       091204     062900

  2801 P                 E                                                                                       091202     063000

  2802                                                                                                           091204     063100

  2803  *------------------------------------------------------------                                            091204     063200

  2804  *- HTTPAPI will call this (because we set it with http_xproc)                                            091204     063300

  2805  *- just before sending the HTTP headers to the remote server.                                            091204     063400

  2806  *- This procedure lets us add any header we like to the                                                  091204     063500

  2807  *- HTTP request.                                                                                         091204     063600

  2808  *-                                                                                                       091204     063700

  2809  *- I'll use it to supply the SoapAction: header                                                          091204     063800

  2810  *- This way, I can supply a SOAPAction that's up to                                                      091204     063900

  2811  *- 1024 characters long.                                                                                 091204     064000

  2812  *-                                                                                                       091204     064100

  2813  *- NOTE: Make sure you leave off the SOAPAction header on the                                            091204     064200

  2814  *-       HTTP_url_post_xml, above, otherwise you'll send two                                             091204     064300

  2815  *-       of them!                                                                                        091204     064400

  2816  *-                                                                                                       091204     064500

  2817  *------------------------------------------------------------                                            091204     064600

  2818 P Add_SOAPACTION  B                                                                                       091202     064700

  2819 D Add_SOAPACTION  PI                                                                                      091202     064800

  2820 D   Header                    1024A   varying                                                             091202     064900

  2821 D   UserData                      *   value                                                               091202     065000

  2822  /free                                                                                                    091202     065100

  2823                                                                                                           100209     065200

  2824     select;                                                                                     B01       100209     065300

  2825     when request = 'getContactInfo';                   // getContactInfo                        X01       100312     065400

  2826     Header = 'SOAPAction: ' + 'http://' + %trim(soapaction)                                      01       100218     065500

  2827               + 'GetContactInfoRequest'                                                          01       100312     065600

  2828               + x'0d25';                                                                         01       100215     065700

  2829     endsl;                                                                                      E01       100209     065800

  2830                                                                                                           100209     065900

  2831  /end-free                                                                                                091202     066000

  2832  *-----------------                                                                                       091204     066100

  2833 P                 E                                                                                       091202     066200

  2834                                                                                                           091204     066300

  2835  *------------------------------                                                                          091204     066400

  2836  *- Get values from comment file                                                                          091204     066500

  2837  *------------------------------                                                                          091204     066600

  2838  *-----------------                                                                                       091204     066700

  2839 p GetValue        b                                                                                       091204     066800

  2840  *-----------------                                                                                       091204     066900

  2841                                                                                                           091204     067000

  2842 d GetValue        pi          1950                                                                        091204     067100

  2843 d  CodeType                           like(fn_codetp) const                                               091204     067200

  2844 d  Code                               like(fn_code) const                                                 091204     067300

  2845                                                                                                           091204     067400

  2846 d Value           s           1950                                                                        091204     067500

  2847 d Counter         s              3s 0                                                                     091204     067600

  2848                                                                                                           091204     067700

  2849  /Free                                                                                                    091204     067800

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     55

Line   <---------------------- Source Specifications ----------------------------><---- Comments ----> Do  Page  Change Src Seq

Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line  Date   Id  Number

  2850    Value = *blanks;                                                                                       091204     067900

  2851    Counter = *zeros;                                                                                      091204     068000

  2852    Setll (CodeType:Code) mbfflcmtdt;                                                                      091204     068100

  2853    Reade (CodeType:Code) mbfflcmtdt;                                                                      091204     068200

  2854                                                                                                           091204     068300

  2855    Dow not %eof(mbfflcmtdt) and Counter < %len(Value) / 65;                                     B01       091204     068400

  2856      Counter += 1;                                                                               01       091204     068500

  2857      Value = %trim(Value) + %trim(fn_cmnt);                                                      01       091204     068600

  2858      Reade (CodeType:Code) mbfflcmtdt;                                                           01       091204     068700

  2859    Enddo;                                                                                       E01       091204     068800

  2860                                                                                                           091204     068900

  2861    Return Value;                                                                                          091204     069000

  2862  /End-Free                                                                                                091204     069100

  2863  *-----------------                                                                                       091204     069200

  2864 p GetValue        e                                                                                       091204     069300

       * * * * *   E N D   O F   S O U R C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     56

          A d d i t i o n a l   D i a g n o s t i c   M e s s a g e s

 Msg id  Sv Number Seq     Message text

*RNF7066 00     44 004400  Record-Format MBRFLCMTDT not used for input or output.

*RNF7066 00     45 004500  Record-Format RPRCTRYC not used for input or output.

*RNF5409 00   2400 022900  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF5409 00   2402 023100  The prototyped call returns a value which is lost when

                           CALLP is used.

*RNF7534 10   2861 069000  File RPLCTRY3 should be closed explicitly when NOMAIN is

                           specified.

 * * * * *   E N D   O F   A D D I T I O N A L   D I A G N O S T I C   M E S S A G E S   * * * * *

                            / C o p y   M e m b e r s

Line   Src  RPG name   <-------- External name -------> CCSID  <- Last change ->

Number Id              Library    File       Member            Date     Time

    47    1 HTTPAPI_H  LIBHTTP    QRPGLESRC  HTTPAPI_H     37  02/17/11 10:25:27

    83    2 CONFIG_H   LIBHTTP    QRPGLESRC  CONFIG_H      37  02/17/11 10:25:27

  2026    3 CB.CONTACT IILIB      QRPGLESRC  CB.CONTACT    37  06/15/10 10:20:14

  2095    4 CB.CONTACT IILIB      QRPGLESRC  CB.CONTACT    37  06/15/10 10:20:14

  2125    5 CB.CONTACT IILIB      QRPGLESRC  CB.CONTACT    37  06/15/10 10:20:14

         * * * * *   E N D   O F   / C O P Y   M E M B E R S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     57

                    K e y   F i e l d   I n f o r m a t i o n

         File           Internal    External

           Record       field name  field name  Attributes

      1  MBFFLCMTDT

           MBRFLCMTDT

                        FN_CODETP               CHAR       10

                        FN_CODE                 CHAR       10

                        FN_SEQ                  PACK     11,2 SIGNED

      2  RPLCTRY3

           RPRCTRYC

                        RISOCTY3                CHAR        3

 * * * * *   E N D   O F   K E Y   F I E L D   I N F O R M A T I O N   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     58

                          C r o s s   R e f e r e n c e

      File and Record References:

         File              Device             References (D=Defined)

           Record

         MBFFLCMTDT        DISK                   44D   2403    2406    2852

                                                2853    2855    2858

           MBRFLCMTDT                             44D   2294

         RPLCTRY3          DISK                   45D   2626    2627

           RPRCTRYC                               45D   2301

      Global Field References:

         Field             Attributes         References (D=Defined M=Modified)

         *INLR             N(1)                 2461M

         #CN               S(5,0)               2282D   2333M   2733M   2733

                                                2734    2739    2742M   2742

                                                2743

*RNF7031 #I                S(5,0)               2274D

         #PA               S(5,0)               2283D   2334M   2597M   2597

                                                2601    2606    2609    2612

                                                2615    2618    2621    2624

                                                2628    2632    2635    2638

                                                2645    2648

         #PH               S(5,0)               2284D   2335M   2517M   2655M

                                                2655    2660    2665    2668

                                                2671    2674    2677    2682

                                                2687    2691    2696    2698

                                                2704    2706    2710    2715

                                                2719    2722

*RNF7031 #SEQ              S(4,0)               2273D

         ACTIVE            A(1)                 2235D   2384M   2385

         ADD_SOAPACTION    PROTOTYPE            2086D   2402    2818    2819

*RNF7031 ATDATE            D(10*ISO-)           2314D

*RNF7031 ATTIME            T(8*ISO.)            2315D

         ATT1              A(256)               2230D   2506M   2755M   2780

                                                2781    2783M

         ATT2              A(256)               2231D   2507M   2756M   2781

                                                2784M

         ATT3              A(256)               2232D   2508M   2757M   2782

                                                2785M

         ATT4              A(256)               2233D   2509M   2758M   2782

                                                2786M

*RNF7031 ATUSR             A(10)                2316D

         BYTE10            A(10)                2285D   2598M

*RNF7031 BYTE5             A(5)                 2286D

         CONTACT           S(10,0)              2271D   2392    2424    2433

                                                2440    2447    2454

*RNF7031 CSSERV            A(3)                 2306D

         DATEFLD           D(10*ISO-)           2280D   2343M   2345

*RNF7031 DSADDRINFO(5)     DS(204)              2160    2166D

*RNF7031   ADDRTYPE        A(10)                2168D

*RNF7031   CITY            A(15)                2172D

*RNF7031   COUNTRY         A(10)                2174D

*RNF7031   ENTERPRISE      A(10)                2178D

*RNF7031   LINE1           A(25)                2169D

*RNF7031   LINE2           A(25)                2170D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     59

*RNF7031   LINE3           A(25)                2171D

*RNF7031   PAID            S(10,0)              2167D

*RNF7031   STATUSCODE      A(10)                2176D

*RNF7031   STATUSDES       A(25)                2177D

*RNF7031   STSCHGRSN       A(10)                2179D

*RNF7031   TERRITORY       A(10)                2175D

*RNF7031   USAGEPTY        A(10)                2180D

*RNF7031   ZIPCODE         A(9)                 2173D

         DSCONINFO         DS(4312)             2147    2149D   2337    2379M

                                                2380M   2389M   2390M   2393

                                                2416    2417    2456M   2457M

                                                2459    2516    2521M   2526M

                                                2529M   2537M   2545M   2554M

                                                2558M   2566M   2573M   2587M

                                                2601M   2606M   2609M   2612M

                                                2615M   2618M   2621M   2624M

                                                2628M   2632M   2635M   2638M

                                                2645M   2648M   2660M   2665M

                                                2668M   2671M   2674M   2677M

                                                2682M   2687M   2691M   2696M

                                                2698M   2704M   2706M   2710M

                                                2719M   2722M   2734M   2739M

                                                2743M   2761M   2762M   2769M

                                                2770M

           COMMMETH        A(10)                2159D   2573

           DSADDR(5)       DS(204)              2160D   2601    2606    2609

                                                2612    2615    2618    2621

                                                2624    2628    2632    2635

                                                2638    2645    2648

             ADDRTYPE      A(10)                2606

             CITY          A(15)                2618

             COUNTRY       A(10)                2624    2628

             ENTERPRISE    A(10)                2635

             LINE1         A(25)                2609

             LINE2         A(25)                2612

             LINE3         A(25)                2615

             PAID          S(10,0)              2601

             STATUSCODE    A(10)                2645

             STATUSDES     A(25)                2648

             TERRITORY     A(10)                2632

             USAGEPTY      A(10)                2638

             ZIPCODE       A(9)                 2621

           DSOTHER(25)     DS(90)               2162D   2734    2739    2743

             FNAME         A(30)                2734

             LNAME         A(30)                2739

             ORGNAME       A(30)                2743

           DSPHONES(5)     DS(146)              2161D   2660    2665    2668

                                                2671    2674    2677    2682

                                                2687    2691    2696    2698

                                                2704    2706    2710    2719

                                                2722

             AREACODE      A(6)                 2674

             CELLTERMS     N(1)                 2696    2698

             DONOTCALL     N(1)                 2704    2706

             ENTERPRISE    A(10)                2687

             EXT           S(5,0)               2682

             PHCOUNTRYCODE A(6)                 2671

             PHCOUNTRYID   A(6)                 2668

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     60

             PHID          S(10,0)              2660

             PHONENO       A(10)                2677

             PHTYPE        A(5)                 2665

             PREDICTIVE    N(1)                 2710

             STATUSCODE    A(30)                2719

             STATUSDES     A(25)                2722

             USAGEPTY      A(30)                2691

           EMAIL           A(50)                2154D   2545

           EMLSTATUSCODE   A(10)                2155D   2554

           EMLSTATUSDES    A(25)                2156D   2558

           ERRORID         A(7)                 2163D   2379    2389    2416

                                                2456    2761    2769

           ERRORMSG        A(80)                2164D   2380    2390    2417

                                                2457    2762    2770

           FNAME           A(20)                2150D   2521

           LANG            A(20)                2157D   2566

           LNAME           A(25)                2151D   2526

           ORGNAME         A(30)                2152D   2529

           PRIMCON         S(10,0)              2158D   2587

           TAXID           A(25)                2153D   2537

*RNF7031 DSCONTACT         DS(4312)             2147D

                           BASED(PTRCONTACT)

*RNF7031 DSOTHERINFO       DS(90)               2162    2198D

*RNF7031   FNAME           A(30)                2199D

*RNF7031   LNAME           A(30)                2200D

*RNF7031   ORGNAME         A(30)                2201D

*RNF7031 DSPHONEINFO(5)    DS(146)              2161    2182D

*RNF7031   AREACODE        A(6)                 2187D

*RNF7031   CELLTERMS       N(1)                 2194D

*RNF7031   DONOTCALL       N(1)                 2195D

*RNF7031   ENTERPRISE      A(10)                2190D

*RNF7031   EXT             S(5,0)               2189D

*RNF7031   PHCOUNTRYCODE   A(6)                 2186D

*RNF7031   PHCOUNTRYID     A(6)                 2185D

*RNF7031   PHID            S(10,0)              2183D

*RNF7031   PHONENO         A(10)                2188D

*RNF7031   PHTYPE          A(5)                 2184D

*RNF7031   PREDICTIVE      N(1)                 2196D

*RNF7031   STATUSCODE      A(30)                2191D

*RNF7031   STATUSDES       A(25)                2192D

*RNF7031   USAGEPTY        A(30)                2193D

*RNF7031 DSTOFC            A(3)                 2307D

         E                 S(5,0)               2219D   2490M   2491    2497

         EP                A(80)                2225D   2404M   2412

         ERROR             N(1)                 2215D   2409M   2421    2752M

         ERRORID           A(7)                 2119D   2387M   2389    2392

                                                2410M   2416M   2421    2424

                                                2434M   2441M   2448M   2454

                                                2456    2753M   2759M   2761

         ERRORMSG          A(80)                2120D   2388M   2390    2392

                                                2411M   2417M   2424    2435M

                                                2442M   2449M   2454    2457

                                                2754M   2760M   2762

         FALSE             A(1)                 2276D   2698    2706

         FN_CMNT           A(65)                2298D   2857

*RNF7031 FN_CODE           A(10)                2092    2296D   2844

*RNF7031 FN_CODETP         A(10)                2091    2295D   2843

*RNF7031 FN_SEQ            P(11,2)              2297D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     61

*RNF7031 FN_STAMP          Z(26)                2300D

*RNF7031 FN_WHOCHG         A(10)                2299D

         GETACTIVEFLG      A(1)                 2061D   2384

                           PROTOTYPE

         GETCONTACTINFO    *(16)                2043D   2325    2327

                           PROTOTYPE

         GETVALUE          A(1950)              2090D   2404    2405    2839

                           PROTOTYPE            2842    2864

         HTTP_ACCES        CONST                1782D

         HTTP_ASCII        CONST                 146D

         HTTP_ATHTYP       CONST                1814D

         HTTP_ATHVAL       CONST                1816D

         HTTP_AUTH_BASIC   CONST                1906D

         HTTP_AUTH_MD5_DIGEST...

                           CONST                1908D

         HTTP_AUTH_NONE    CONST                1904D

         HTTP_BADCHK       CONST                1776D

         HTTP_BADCNN       CONST                1749D

         HTTP_BADPNT       CONST                1835D

         HTTP_BADURL       CONST                1739D

         HTTP_BRRECV       CONST                1829D

         HTTP_BRSELE       CONST                1831D

         HTTP_BRTIME       CONST                1827D

*RNF7031 HTTP_BUILD_SOCKADDR...

                           I(10,0)               409D

                           PROTOTYPE

         HTTP_BWSELE       CONST                1853D

         HTTP_BWSEND       CONST                1851D

         HTTP_BWTIME       CONST                1855D

         HTTP_BWTIMO       CONST                1867D

         HTTP_CCSID        CONST                 159D

         HTTP_CHKSIZ       CONST                1778D

         HTTP_CKDUMP       CONST                1881D

         HTTP_CKOPEN       CONST                1883D

         HTTP_CKSTAT       CONST                1885D

*RNF7031 HTTP_CLOSE        I(10,0)               423D

                           PROTOTYPE

         HTTP_CNNTIMO      CONST                1751D

*RNF7031 HTTP_COMP         PROTOTYPE            1589D

         HTTP_CONTTYPE     CONST                 127D

         HTTP_CONVERR      CONST                1887D

         HTTP_COOKIE_DEFAULT...

                           CONST                 189D

*RNF7031 HTTP_COOKIE_FILE  PROTOTYPE            1580D

*RNF7031 HTTP_CRASH        PROTOTYPE            1606D

         HTTP_CSSELE       CONST                1808D

         HTTP_DEBUG        PROTOTYPE            1359D   2401M

*RNF7031 HTTP_DEBUG_FILE   A(500)                195D

                           VARYING

*RNF7031 HTTP_DIAG         PROTOTYPE            1598D

         HTTP_EBCDIC       CONST                 145D

*RNF7031 HTTP_ERROR        A(80)                 435D

                           PROTOTYPE

         HTTP_FDOPEN       CONST                1784D

         HTTP_FDSTAT       CONST                1871D

*RNF7031 HTTP_GET          I(10,0)               244D

                           PROTOTYPE

*RNF7031 HTTP_GET_XML      I(10,0)               903D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     62

                           PROTOTYPE

*RNF7031 HTTP_GET_XMLTF    I(10,0)               942D

                           PROTOTYPE

*RNF7031 HTTP_GETAUTH      I(10,0)               534D

                           PROTOTYPE

         HTTP_GSKAPPID     CONST                1786D

         HTTP_GSKATYP      CONST                1788D

         HTTP_GSKENVI      CONST                1790D

         HTTP_GSKENVO      CONST                1792D

         HTTP_GSKKEYF      CONST                1877D

         HTTP_GSKSTYP      CONST                1794D

*RNF7031 HTTP_HEADER       A(32500)             1549D

                           VARYING

                           PROTOTYPE

         HTTP_HOSTNF       CONST                1741D

         HTTP_IFOPEN       CONST                1875D

         HTTP_IFSMODE      CONST                 174D

         HTTP_ILLSWC       CONST                1893D

         HTTP_INVPTR       CONST                1847D

*RNF7031 HTTP_LONG_PARSEURL...

                           I(10,0)               767D

                           PROTOTYPE

         HTTP_LRRECV       CONST                1857D

         HTTP_LRSELE       CONST                1859D

         HTTP_LRTIME       CONST                1861D

*RNF7031 HTTP_MFD_ENCODER_ADDSTMF...

                           N(1)                 1332D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_ADDVAR...

                           N(1)                 1295D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_ADDVAR_S...

                           N(1)                 1313D

                           PROTOTYPE

*RNF7031 HTTP_MFD_ENCODER_CLOSE...

                           PROTOTYPE            1346D

*RNF7031 HTTP_MFD_ENCODER_OPEN...

                           *(16)                1277D

                           PROTOTYPE

         HTTP_MUTABLE      CONST                1879D

         HTTP_NDAUTH       CONST                1812D

         HTTP_NOAUTH       CONST                1818D

         HTTP_NOCDRIV      CONST                1865D

         HTTP_NODATA       CONST                1845D

         HTTP_NOMEM        CONST                1843D

         HTTP_NONBLK       CONST                1747D

         HTTP_NOSPAC       CONST                1849D

         HTTP_NOTREG       CONST                1810D

         HTTP_NOTSUPP      CONST                1863D

*RNF7031 HTTP_PARSE_XML_STMF...

                           I(10,0)              1529D

                           PROTOTYPE

*RNF7031 HTTP_PARSE_XML_STRING...

                           I(10,0)              1726D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_GET_END_CB...

                           *(16) PROCPTR        1697D

                           PROTOTYPE

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     63

*RNF7031 HTTP_PARSER_GET_START_CB...

                           *(16) PROCPTR        1688D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_GET_USERDATA...

                           *(16)                1706D

                           PROTOTYPE

*RNF7031 HTTP_PARSER_SWITCH_CB...

                           I(10,0)              1675D

                           PROTOTYPE

*RNF7031 HTTP_PARSEURL     I(10,0)               386D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_CLOSE...

                           I(10,0)              1254D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_GET  I(10,0)              1180D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_OPEN *(16)                1148D

                           PROTOTYPE

*RNF7031 HTTP_PERSIST_POST I(10,0)              1231D

                           PROTOTYPE

         HTTP_POINT_ADDL_HEADER...

                           CONST                1958D   2402

         HTTP_POINT_CERT_VAL...

                           CONST                1999D

         HTTP_POINT_DEBUG  CONST                1923D

         HTTP_POINT_DOWNLOAD_STATUS...

                           CONST                1947D

         HTTP_POINT_GSKIT_CERT_VAL...

                           CONST                2016D

         HTTP_POINT_PARSE_HDR_LONG...

                           CONST                1978D

         HTTP_POINT_PARSE_HEADER...

                           CONST                1968D

         HTTP_POINT_UPLOAD_STATUS...

                           CONST                1935D

*RNF7031 HTTP_POST         I(10,0)               284D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF    I(10,0)               852D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF_XML...

                           I(10,0)              1081D

                           PROTOTYPE

*RNF7031 HTTP_POST_STMF_XMLTF...

                           I(10,0)              1125D

                           PROTOTYPE

         HTTP_POST_XML     I(10,0)               997D   2412

                           PROTOTYPE

*RNF7031 HTTP_POST_XMLTF   I(10,0)              1041D

                           PROTOTYPE

*RNF7031 HTTP_PROXY_GETAUTH...

                           I(10,0)               605D

                           PROTOTYPE

*RNF7031 HTTP_PROXY_SETAUTH...

                           I(10,0)               580D

                           PROTOTYPE

         HTTP_PST417       CONST                1821D

         HTTP_PXNDAUTH     CONST                1891D

         HTTP_RDCRLF       CONST                1833D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     64

         HTTP_RDRECV       CONST                1767D

         HTTP_RDSELE       CONST                1769D

         HTTP_RDTIME       CONST                1825D

         HTTP_RDWERR       CONST                1772D

*RNF7031 HTTP_REDIR_LOC    A(1024)               636D

                           VARYING

                           PROTOTYPE

         HTTP_REGERR       CONST                1796D

         HTTP_RESP         CONST                1765D

         HTTP_RRRECV       CONST                1761D

         HTTP_RRSELE       CONST                1763D

         HTTP_RRTIME       CONST                1823D

         HTTP_SAALLO       CONST                1743D

         HTTP_SDSELE       CONST                1806D

         HTTP_SDSEND       CONST                1774D

*RNF7031 HTTP_SELECT_COMMDRIVER...

                           *(16)                 785D

                           PROTOTYPE

*RNF7031 HTTP_SET_100_TIMEOUT...

                           PROTOTYPE            1489D

         HTTP_SETATTR      CONST                1889D

*RNF7031 HTTP_SETAUTH      I(10,0)               550D

                           PROTOTYPE

         HTTP_SETCCSIDS    I(10,0)              1375D   2400M

                           PROTOTYPE

*RNF7031 HTTP_SETFILECCSID PROTOTYPE            1414D

*RNF7031 HTTP_SETPROXY     I(10,0)               564D

                           PROTOTYPE

*RNF7031 HTTP_SETTABLES    I(10,0)              1391D

                           PROTOTYPE

         HTTP_SOCERR       CONST                1745D

         HTTP_SRSELE       CONST                1755D

         HTTP_SRXLATE      CONST                1753D

         HTTP_SRXMIT       CONST                1758D

         HTTP_SSLGCI       CONST                1895D

         HTTP_SSLVAL       CONST                1897D

         HTTP_SSOPEN       CONST                1798D

         HTTP_SSPROT       CONST                1837D

         HTTP_SSPSET       CONST                1841D

         HTTP_SSPUNK       CONST                1839D

         HTTP_SSSNFD       CONST                1800D

         HTTP_SSSNTO       CONST                1802D

         HTTP_SSTIMO       CONST                1804D

         HTTP_STMF_CALC    CONST                1537D

         HTTP_SWCERR       CONST                1869D

*RNF7031 HTTP_TEMPFILE     A(40)                1614D

                           VARYING

                           PROTOTYPE

         HTTP_TIMEOUT      CONST                 114D   2413

*RNF7031 HTTP_URL_ENCODER  *(16)                 648D    650     669     687

                                                 708     726     742

*RNF7031 HTTP_URL_ENCODER_ADDVAR...

                           N(1)                  668D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_ADDVAR_S...

                           N(1)                  741D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_FREE...

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     65

                           N(1)                  725D

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_GETPTR...

                           PROTOTYPE             686D

*RNF7031 HTTP_URL_ENCODER_GETSTR...

                           A(32767)              707D

                           VARYING

                           PROTOTYPE

*RNF7031 HTTP_URL_ENCODER_NEW...

                           *(16)                 650D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET      I(10,0)               252D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET_RAW  I(10,0)               325D

                           PROTOTYPE

*RNF7031 HTTP_URL_GET_XML  I(10,0)               914D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST     I(10,0)               293D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_RAW I(10,0)               357D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_RAW2...

                           I(10,0)               811D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_STMF...

                           I(10,0)               844D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_STMF_XML...

                           I(10,0)              1092D

                           PROTOTYPE

*RNF7031 HTTP_URL_POST_XML I(10,0)              1009D

                           PROTOTYPE

*RNF7031 HTTP_USE_COOKIES  PROTOTYPE            1564D

         HTTP_USERAGENT    CONST                 120D   2414

         HTTP_XFRENC       CONST                1780D

*RNF7031 HTTP_XLATE        I(10,0)              1428D

                           PROTOTYPE

*RNF7031 HTTP_XLATEDYN     I(10,0)              1462D

                           PROTOTYPE

*RNF7031 HTTP_XLATEP       I(10,0)              1445D

                           PROTOTYPE

         HTTP_XML_CALC     CONST                1536D

*RNF7031 HTTP_XML_SETCCSIDS...

                           I(10,0)              1504D

                           PROTOTYPE

         HTTP_XMLERR       CONST                1873D

*RNF7031 HTTP_XMLNS        PROTOTYPE            1623D

*RNF7031 HTTP_XMLRETURNPTR PROTOTYPE            1637D

*RNF7031 HTTP_XMLSTRIPCRLF PROTOTYPE            1653D

         HTTP_XPROC        I(10,0)               624D   2402M

                           PROTOTYPE

         HTTPAPI_RELDATE   CONST                  81D

         HTTPAPI_VERSION   CONST                  79D

*RNF7031 HTTPS_CLEANUP     I(10,0)               487D

                           PROTOTYPE

*RNF7031 HTTPS_DCM_REG     I(10,0)               476D

                           PROTOTYPE

*RNF7031 HTTPS_IDNAME      A(50)                 498D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     66

                           VARYING

                           PROTOTYPE

*RNF7031 HTTPS_INIT        I(10,0)               456D

                           PROTOTYPE

*RNF7031 HTTPS_STRICT      PROTOTYPE             508D

         LAST_VAR_NAME     A(50)                2222D   2336M   2738    2745M

         LEN               S(5,0)               2287D   2585M   2586    2586

                                                2599M   2600    2600    2658M

                                                2659    2659    2680M   2681

                                                2681

         MAPXMLDATA        PROTOTYPE            2077D   2413    2471    2472

*RNF7031 ORIGN             A(1)                 2305D

*RNF7031 P@CDTE            A(6)                 2260D

*RNF7031 P@CLVL            A(4)                 2262D

*RNF7031 P@CMOD            A(10)                2267D

*RNF7031 P@CPF             A(80)                2250D

*RNF7031 P@CPGM            A(10)                2266D

*RNF7031 P@CSLB            A(10)                2264D

*RNF7031 P@CSMB            A(10)                2265D

*RNF7031 P@CSRC            A(10)                2263D

*RNF7031 P@CTIM            A(6)                 2261D

*RNF7031 P@DS              DS(429)              2238D

*RNF7031 P@EXPN            A(4)                 2246D

*RNF7031 P@EXPT            A(3)                 2245D

*RNF7031 P@JDTE            S(6,0)               2257D

         P@JOB#            S(6,0)               2256D   2391    2423    2432

                                                2439    2446    2453

         P@JOBN            A(10)                2254D   2391    2423    2432

                                                2439    2446    2453

*RNF7031 P@JOBU            A(10)                2255D

*RNF7031 P@LIB             A(10)                2249D

*RNF7031 P@LSTF            A(8)                 2252D

*RNF7031 P@MIOD            B(8,0)               2247D

*RNF7031 P@NUS1            A(4)                 2268D

*RNF7031 P@NUS2            A(62)                2270D

*RNF7031 P@PARM            S(3,0)               2244D

*RNF7031 P@PDTE            S(6,0)               2258D

         P@PROG            A(10)                2239D   2391    2423    2432

                                                2439    2446    2453

*RNF7031 P@PSTT            S(5,0)               2241D

*RNF7031 P@PTIM            S(6,0)               2259D

*RNF7031 P@RPGR            A(8)                 2243D

*RNF7031 P@RPGS            A(8)                 2242D

*RNF7031 P@RSV             A(30)                2251D

*RNF7031 P@STAT            S(5,0)               2240D

*RNF7031 P@STLF            A(35)                2253D

         P@USER            A(10)                2269D   2391    2423    2432

                                                2439    2446    2453

*RNF7031 P@WRKM            A(30)                2248D

         PATH_NAME         A(50)                2224D   2494M   2497M   2514

                                                2534    2542    2551    2570

                                                2578    2595    2653    2716

                                                2728    2731    2749    2766

                                                2778

         PATH_POS          S(5,0)               2223D   2492M   2493    2494

                                                2495

*RNF7031 PMEMB#            S(7,0)               2118D

*RNF7031 PRIMARY           A(1)                 2227D

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     67

         PROCEDURE         A(15)                2234D   2382M   2384    2386

                                                2388    2391    2423    2430

                                                2432    2437    2439    2444

                                                2446    2453

*RNF7031 PROOFC            A(1)                 2308D

*RNF7031 PTR               *(16)                2228D

         PTRCONTACT        *(16)                2145D   2147    2393M   2394

                                                2459M   2460

         QUOTE             CONST                2229D   2404

         RC                I(10,0)              2216D   2412M   2420    2429

                                                2436    2443

*RNF7031 RCAFID            P(9,0)               2311D

*RNF7031 RCDFEERGN         A(6)                 2313D

*RNF7031 RCDTAXPCNT        P(11,2)              2320D

*RNF7031 RCDTAXPM          A(1)                 2319D

*RNF7031 RCDVARPCNT        P(11,2)              2318D

*RNF7031 RCDVARPM          A(1)                 2317D

*RNF7031 RCNTGP            A(1)                 2304D

*RNF7031 RCNTNA            A(15)                2303D

         RCNTRC            A(3)                 2302D   2628

*RNF7031 RCPFMT            A(15)                2310D

         REQUEST           A(50)                2277D   2338M   2825

         RETCOD            A(1)                 2236D   2383    2383    2386M

                                                2408    2408    2430M   2437M

                                                2444M

*RNF7031 RISOCTY2          A(2)                 2322D

         RISOCTY3          A(3)                 2323D   2625M   2626

*RNF7031 RISONBR3          A(3)                 2324D

*RNF7031 RMTYPE            A(1)                 2309D

*RNF7031 ROFFNEW           A(1)                 2321D

         RTVMSGD           A(132)               2289D   2388    2435    2442

                           PROTOTYPE            2449

         S                 S(5,0)               2218D   2489M   2491    2492

                                                2494    2494    2495M   2497

                                                2497

         SNDRCVERR         A(1)                 2055D   2386    2430    2437

                           PROTOTYPE            2444

         SOAP              A(32767)             2210D   2357M   2392    2412

                           VARYING              2412    2424    2433    2440

                                                2447    2454

         SOAPACTION        A(200)               2278D   2405M   2826

         SOAP2             A(32767)             2211D   2339M   2392    2424

                           VARYING              2431M   2433    2438M   2440

                                                2445M   2447    2454    2505

                                                2775M   2775    2778M   2778

                                                2781M   2781    2789M   2789

                                                2795M   2795

         SVDEPTH           I(10,0)              2217D   2510M   2794    2796M

         TIMEFLD           T(8*ISO.)            2281D   2344M   2346

         TIMESTAMP         A(19)                2279D   2345M   2367

*RNF7031 TLMKOFC           A(3)                 2312D

         TO_ASCII          CONST                2022D

         TO_EBCDIC         CONST                2023D

         TRUE              A(1)                 2275D   2696    2704

*RNF7031 VALID             A(1)                 2214D

         VAR_NAME          A(50)                2221D   2483M   2484    2485M

                                                2485    2504    2515    2519

                                                2524    2528    2535    2543

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     68

                                                2552    2556    2564    2571

                                                2579    2596    2605    2608

                                                2611    2614    2617    2620

                                                2623    2631    2634    2637

                                                2644    2647    2654    2657

                                                2664    2667    2670    2673

                                                2676    2679    2686    2690

                                                2693    2701    2709    2717

                                                2721    2732    2737    2741

                                                2745    2750    2767    2792M

         VAR_POS           S(5,0)               2220D   2484M   2485

         VARYINGDATAOFFSET CONST                2209D   2412

*RNF7031 WAIT              A(1)                 2213D

         WRTWSLOGS         PROTOTYPE            2064D   2391M   2423M   2432M

                                                2439M   2446M   2453M

         XML_VALUE         A(50)                2212D   2413

                           VARYING

*RNF7031 XMLMEMSUMDIR      A(80)                2226D

      Field References for subprocedure GETCONTACTINFO

         Field             Attributes         References (D=Defined M=Modified)

         PMEMB#            S(7,0)               2328D   2354    2392    2424

                           BASED(_QRNL_PST+)    2433    2440    2447    2454

         PCONTACT          S(10,0)              2329D   2348    2348    2350

                           BASED(_QRNL_PST+)

         MEMBERCONTACT     A(256)               2330D   2349M   2349    2353M

                                                2353    2373

         _QRNL_PSTR_PCONTACT...

      Field References for subprocedure MAPXMLDATA

         Field             Attributes         References (D=Defined M=Modified)

         XML_DATA          A(52)                2473D   2520M   2521    2525M

                           BASED(_QRNL_PST+)    2526    2536M   2537    2544M

                           VARYING              2545    2553M   2554    2557M

                                                2558    2565M   2566    2572M

                                                2573    2718M   2751M   2768M

                                                2770    2791M

         DEPTH             I(10,0)              2474D   2773    2794    2796

         NAME              A(1024)              2475D   2483    2789

                           BASED(_QRNL_PST+)

                           VARYING

         PATH              A(24576)             2476D   2488    2490    2492

                           BASED(_QRNL_PST+)    2494    2497    2550    2643

                           VARYING              2715    2774    2775

         VALUE             A(65535)             2477D   2520    2525    2529

                           BASED(_QRNL_PST+)    2536    2544    2553    2557

                           VARYING              2565    2572    2585    2588

                                                2598    2599    2602    2606

                                                2609    2612    2615    2618

                                                2621    2625    2632    2635

                                                2638    2645    2648    2658

                                                2661    2665    2668    2671

                                                2674    2677    2680    2683

                                                2687    2691    2695    2697

                                                2703    2705    2710    2718

                                                2719    2722    2734    2739

                                                2743    2751    2768    2788

                                                2790

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     69

         ATTRS(32767)      *(16)                2478D   2506    2507    2753

                           BASED(_QRNL_PST+)    2754    2755    2756    2757

                                                2758    2759    2760

         _QRNL_PSTR_XML_DATA...

      Field References for subprocedure ADD_SOAPACTION

         Field             Attributes         References (D=Defined M=Modified)

         HEADER            A(1024)              2820D   2826M

                           BASED(_QRNL_PST+)

                           VARYING

*RNF7031 USERDATA          *(16)                2821D

      Field References for subprocedure GETVALUE

         Field             Attributes         References (D=Defined M=Modified)

         CODETYPE          A(10)                2843D   2852    2853    2858

                           BASED(_QRNL_PST+)

         CODE              A(10)                2844D   2852    2853    2858

                           BASED(_QRNL_PST+)

         VALUE             A(1950)              2846D   2850M   2855    2857M

                                                2857    2861

         COUNTER           S(3,0)               2847D   2851M   2855    2856M

         _QRNL_PSTR_CODETYPE...

      Indicator References:

         Indicator                            References (D=Defined M=Modified)

         LR                                     2461M

       * * * * *   E N D   O F   C R O S S   R E F E R E N C E   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     70

                      E x t e r n a l   R e f e r e n c e s

      Statically bound procedures:

         Procedure                            References

         RTVMSGD                                2289    2388    2435    2442

                                                2449

         HTTP_COMP                              1589

         HTTP_DIAG                              1598

         SNDRCVERR                              2055    2386    2430    2437

                                                2444

         WRTWSLOGS                              2064    2392    2424    2433

                                                2440    2447    2454

         HTTP_CLOSE                              423

         HTTP_ERROR                              435

         HTTPS_INIT                              456

         HTTP_XPROC                              624    2402

         HTTP_DEBUG                             1359    2401

         HTTP_XLATE                             1428

         HTTP_CRASH                             1606

         HTTP_XMLNS                             1623

         HTTP_XLATEP                            1445

         HTTP_HEADER                            1549

         HTTP_URL_GET                            244     252

         HTTPS_IDNAME                            498

         HTTPS_STRICT                            508

         HTTP_GETAUTH                            534

         HTTP_SETAUTH                            550

         GETACTIVEFLG                           2061    2384

         HTTP_URL_POST                           284     293

         HTTP_PARSEURL                           386

         HTTPS_DCM_REG                           476

         HTTPS_CLEANUP                           487

         HTTP_SETPROXY                           564

         HTTP_XLATEDYN                          1462

         HTTP_TEMPFILE                          1614

         HTTP_REDIR_LOC                          636

         HTTP_GET_XMLTF                          942

         HTTP_SETCCSIDS                         1375    2400

         HTTP_SETTABLES                         1391

         HTTP_POST_XMLTF                        1041

         HTTP_URL_GET_RAW                        325

         HTTP_URL_GET_XML                        903     914

         HTTP_PERSIST_GET                       1180

         HTTP_USE_COOKIES                       1564

         HTTP_COOKIE_FILE                       1580

         HTTP_URL_POST_RAW                       357

         HTTP_URL_POST_XML                       997    1009    2414

         HTTP_PERSIST_OPEN                      1148

         HTTP_PERSIST_POST                      1231

         HTTP_SETFILECCSID                      1414

         HTTP_XMLRETURNPTR                      1637

         HTTP_XMLSTRIPCRLF                      1653

         HTTP_PROXY_SETAUTH                      580

         HTTP_PROXY_GETAUTH                      605

         HTTP_LONG_PARSEURL                      767

         HTTP_URL_POST_RAW2                      811

         HTTP_URL_POST_STMF                      844     852

         HTTP_PERSIST_CLOSE                     1254

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     71

         HTTP_XML_SETCCSIDS                     1504

         HTTP_BUILD_SOCKADDR                     409

         HTTP_PARSE_XML_STMF                    1529

         HTTP_URL_ENCODER_NEW                    650

         HTTP_POST_STMF_XMLTF                   1125

         HTTP_SET_100_TIMEOUT                   1489

         HTTP_URL_ENCODER_FREE                   725

         HTTP_MFD_ENCODER_OPEN                  1277

         HTTP_PARSER_SWITCH_CB                  1675

         HTTP_PARSE_XML_STRING                  1726

         HTTP_SELECT_COMMDRIVER                  785

         HTTP_URL_POST_STMF_XML                 1081    1092

         HTTP_MFD_ENCODER_CLOSE                 1346

         HTTP_PARSER_GET_END_CB                 1697

         HTTP_URL_ENCODER_ADDVAR                 668

         HTTP_URL_ENCODER_GETPTR                 686

         HTTP_URL_ENCODER_GETSTR                 707

         HTTP_MFD_ENCODER_ADDVAR                1295

         HTTP_MFD_ENCODER_ADDSTMF               1332

         HTTP_PARSER_GET_START_CB               1688

         HTTP_PARSER_GET_USERDATA               1706

         HTTP_URL_ENCODER_ADDVAR_S               741

         HTTP_MFD_ENCODER_ADDVAR_S              1313

      Imported fields:

         Field             Attributes         Defined

         No references in the source.

      Exported fields:

         Field             Attributes         Defined

         No references in the source.

   * * * * *   E N D   O F   E X T E R N A L   R E F E R E N C E S   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     72

                          M e s s a g e   S u m m a r y

 Msg id  Sv Number Message text

*RNF5409 00      2 The prototyped call returns a value which is lost when CALLP

                   is used.

*RNF7031 00    221 The name or indicator is not referenced.

*RNF7066 00      2 Record-Format name of Externally-Described file is not used.

*RNF7534 10      1 Files should be closed explicitly when NOMAIN is specified on

                   the Control specification.

       * * * * *   E N D   O F   M E S S A G E   S U M M A R Y   * * * * *

 5722WDS V5R4M0  060210 RN        IBM ILE RPG             QTEMP/WS.CONTACT         IIMIADEV   02/17/11 11:57:24        Page     73

                            F i n a l   S u m m a r y

  Message Totals:

    Information  (00) . . . . . . . :      225

    Warning      (10) . . . . . . . :        1

    Error        (20) . . . . . . . :        0

    Severe Error (30+)  . . . . . . :        0

    ---------------------------------  -------

    Total . . . . . . . . . . . . . :      226

  Source Totals:

    Records . . . . . . . . . . . . :     2864

    Specifications  . . . . . . . . :     1166

    Data records  . . . . . . . . . :        0

    Comments  . . . . . . . . . . . :     1375

         * * * * *   E N D   O F   F I N A L   S U M M A R Y   * * * * *

Module WS.CONTACT placed in library QTEMP. 10 highest severity. Created on 02/17/11 at 11:57:24.

          * * * * *   E N D   O F   C O M P I L A T I O N * * * * *

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------