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

RE: "Call stack" and "Connection Reset" issues.



Hi Scott,
I have downloaded the new version.
http://www.scottklement.com/httpapi/beta/httpapi.savf
The installation fails :
An error occurred during translation.                                  
Historique des incidents mis à jour.                                   
File d'attente en sortie QSCAPAROQ de QSC3431962 existe déjà.          
La compilation a échoué. Le module HTTPXMLR4 n'a pas été créé dans la  
  bibliothèque LIBHTTP.                                                
Erreur. RNS9309 non intercepté par INSTALL à la spécif 24900, inst     
  X'029A'.                                                             
Message RNS9309 reçu par INSTALL à l'instruction 24900. (C D I R)      

Thanks for your help.

Stephane

 

-----Message d'origine-----
De : ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] De la part de ian
Envoyé : mercredi 29 août 2007 11:15
À : 'HTTPAPI and FTPAPI Projects'
Objet : RE: "Call stack" and "Connection Reset" issues.

Success.

I have tested 1.21 on V5R1 with following options:

SSL yes
Expat No

We use the procedures http_url_get() and http_url_post() In chunked and unchunked transmissions.

By the way, the list contact info at the end of the README source is out of date :-)

Regards
 
Ian Patterson


-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: 28 August 2007 23:42
To: HTTPAPI and FTPAPI Projects
Subject: Re: "Call stack" and "Connection Reset" issues.


hi Ian,

> Testing version 1.21 on V5R1
> Get the following error with running INSTALL:  *LIBL/QSRVSRC.HTTPAPI2 
> line 114: ***ERROR Symbol not defined:
>    'HTTP_XMLRETURNPTR'

Thanks for your feedback.  I've fixed this problem, and updated the beta

code on my site.  Can you please try again?
-----------------------------------------------------------------------
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
-----------------------------------------------------------------------
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      1
  Commande . . . . . . . . . . . . : CRTRPGMOD
    Emetteur . . . . . . . . . . . :     GCPF
  Module . . . . . . . . . . . . . :   HTTPXMLR4
    Bibliothèque . . . . . . . . . :     LIBHTTP
  Descriptif . . . . . . . . . . . :   *SRCMBRTXT
  Membre source  . . . . . . . . . :   HTTPXMLR4
 Fichier source  . . . . . . . . . :   QRPGLESRC
    Bibliothèque . . . . . . . . . :     LIBHTTP
    CCSID  . . . . . . . . . . . . :     37
  Descriptif . . . . . . . . . . . :   Routines for XML parsing with EXPAT
  Dernière modification  . . . . . :   22/08/07  19:20:48
  Niveau gravité pour génération . :   10
  Options de compilation . . . . . :   *XREF      *GEN       *NOSECLVL  *SHOWCPY
                                       *EXPDDS    *EXT       *NOSHOWSKP *NOSRCSTMT
                                       *DEBUGIO   *NOEVENTF
  Vues de débogage . . . . . . . . :   *LIST
  Sortie . . . . . . . . . . . . . :   *PRINT
  Niveau d'optimisation  . . . . . :   *NONE
  Indentation de la liste source . :   *NONE
  Options de conversion  . . . . . :   *NONE
  Séquence de tri  . . . . . . . . :   *HEX
  Identificateur de langue . . . . :   *JOBRUN
  Remplacer module . . . . . . . . :   *YES
  Droits . . . . . . . . . . . . . :   *LIBCRTAUT
  Tronquer valeurs numériques  . . :   *YES
  Corriger valeurs numériques  . . :   *NONE
  Edition du système cible . . . . :   *CURRENT
  Admettre valeurs indéfinies  . . :   *NO
  Répertoire de liage  . . . . . . :   *NONE
  Définir noms de condition. . . . :   *NONE
  Collecte de performance possible :   *PEP
  Données de profilage . . . . . . :   *NOCOL
  Options du microcode sous licence . :
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      2
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
                          L i s t e    s o u r c e
     1 /*-                                                                            +                          040728     000100
     2  * Copyright (c) 2005-2007 Scott C. Klement                                    +                          070125     000200
     3  * All rights reserved.                                                        +                          040728     000300
     4  *                                                                             +                          040728     000400
     5  * Redistribution and use in source and binary forms, with or without          +                          040728     000500
     6  * modification, are permitted provided that the following conditions          +                          040728     000600
     7  * are met:                                                                    +                          040728     000700
     8  * 1. Redistributions of source code must retain the above copyright           +                          040728     000800
     9  *    notice, this list of conditions and the following disclaimer.            +                          040728     000900
    10  * 2. Redistributions in binary form must reproduce the above copyright        +                          040728     001000
    11  *    notice, this list of conditions and the following disclaimer in the      +                          040728     001100
    12  *    documentation and/or other materials provided with the distribution.     +                          040728     001200
    13  *                                                                             +                          040728     001300
    14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS µµAS IS'' AND      +                          040728     001400
    15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE       +                          040728     001500
    16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  +                          040728     001600
    17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE     +                          040728     001700
    18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  +                          040728     001800
    19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS     +                          040728     001900
    20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)       +                          040728     002000
    21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  +                          040728     002100
    22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY   +                          040728     002200
    23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF      +                          040728     002300
    24  * SUCH DAMAGE.                                                                +                          040728     002400
    25  *                                                                             +                          040728     002500
    26  */                                                                            +                          040728     002600
    27                                                                                                           040728     002700
    28 /*                                                                                                        040728     002800
    29  * HTTPXMLR4 -- Parse XML responses from a host                                                           040728     002900
    30  *                                                                                                        040728     003000
    31  *  This uses the Expat service program to parse the XML                                                  070125     003100
    32  *  response and return it to a call-back procedure.                                                      040728     003200
    33  *                                                                                                        040728     003300
    34  */                                                                                                       040728     003400
    35                                                                                                           040728     003500
    36 H COPYRIGHT('Copyright (c) 2004-2007 Scott C. Klement.  All rights +                                      070125     003600
    37 H reserved.  A member called "LICENSE" was included with this +                                           040728     003700
    38 H distribution, and contains important license information.')                                             040728     003800
    39                                                                                                           040728     003900
    40 H OPTION(*NOSHOWCPY: *SRCSTMT: *NODEBUGIO)                                                                040728     004000
004100 H NOMAIN CCSID(*UCS2:1200)                                                                                060922     004100
004200                                                                                                           040728     004200
004300  /copy qrpglesrc,httpapi_h                                                                                060323     004300
            LINES EXCLUDED: 0
        *--------------------------------------------------------------------*
        * Options de compilation utilisées :                                 *
        *--------------------------------------------------------------------*
        *  Descriptif . . . . . . . . . . . :                                *
        *                 Routines for XML parsing with EXPAT                *
        *  Niveau gravité pour génération . :   10                           *
        *  Options de compilation . . . . . :   *XREF      *GEN              *
        *                                       *NOSECLVL  *NOSHOWCPY        *
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      3
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
        *                                       *EXPDDS    *EXT              *
        *                                       *NOSHOWSKP *SRCSTMT          *
        *                                       *NODEBUGIO *NOEVENTF         *
        *  Niveau d'optimisation  . . . . . :   *NONE                        *
        *  Indentation de la liste source . :   *NONE                        *
        *  Options de conversion  . . . . . :   *NONE                        *
        *  Séquence de tri  . . . . . . . . :   *HEX                         *
        *  Identificateur de langue . . . . :   *JOBRUN                      *
        *  Droits . . . . . . . . . . . . . :   *LIBCRTAUT                   *
        *  Tronquer valeurs numériques  . . :   *YES                         *
        *  Corriger valeurs numériques  . . :   *NONE                        *
        *  Admettre valeurs indéfinies  . . :   *NO                          *
        *  Répertoire de liage de commande  :   *NONE                        *
        *  Répertoire de liage du source  . :   *NONE                        *
        *  Collecte de performance possible :   *PEP                         *
        *  Données de profilage . . . . . . :   *NOCOL                       *
        *--------------------------------------------------------------------*
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
004400  /copy qrpglesrc,private_h                                                                                060323     004400
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
004500  /copy qrpglesrc,expat_h                                                                                  060323     004500
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
            LINES EXCLUDED: 0
004600  /copy qrpglesrc,ifsio_h                                                                                  060323     004600
            LINES EXCLUDED: 0
004700  /copy qrpglesrc,errno_h                                                                                  060323     004700
            LINES EXCLUDED: 0
004800                                                                                                           040728     004800
004900 D InitParser      PR                  like(XML_Parser)                                                    040804     004900
005000 D   peElemStack                       likeds(elemroot)                                                    040804     005000
005100 D   peEncoding                 100C   const                                                               060923     005100
005200                                                                                                           040804     005200
005300 D startElement    Pr                                                                                      060922     005300
005400 D   root                              likeds(elemroot)                                                    060922     005400
005500 D   name                     16373C   options(*varsize)                                                   060922     005500
005600 D   atts                          *   dim(32767) options(*varsize)                                        060922     005600
005700 D charData        Pr                                                                                      060922     005700
005800 D   root                              likeds(elemroot)                                                    060922     005800
005900 D   string                   16373C   options(*varsize)                                                   060922     005900
006000 D   len                         10I 0 value                                                               060922     006000
006100 D endElement      Pr                                                                                      060922     006100
006200 D   root                              likeds(elemroot)                                                    060922     006200
006300 D   name                          *   value                                                               060922     006300
006400                                                                                                           040803     006400
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      4
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
006500 D ParseXML        PR            10I 0                                                                     040803     006500
006600 D   peFD                        10I 0 value                                                               040803     006600
006700 D   peData                    8192A   options(*varsize)                                                   040803     006700
006800 D   peLength                    10I 0 value                                                               040803     006800
006900                                                                                                           040805     006900
007000 D copyAttrs       PR              *                                                                       040805     007000
007100 D   root                              likeds(elemroot)                                                    070822     007100
007200 D   peAttr                        *   dim(32767) options(*varsize)                                        040805     007200
007300 D freeAttrs       PR                                                                                      040805     007300
007400 D   peAttrs                       *   value                                                               040805     007400
007500                                                                                                           040728     007500
007600 D MAXDEPTH        C                   512                                                                 040728     007600
007700                                                                                                           040802     007700
007800 D elemroot        ds                  qualified                                                           040728     007800
007900 D   depth                       10I 0                                                                     040728     007900
008000 D   startcb                       *   procptr                                                             040805     008000
008100 D   endcb                         *   procptr                                                             040805     008100
008200 D   userdata                      *                                                                       040802     008200
008300 D   entry                         *   dim(MAXDEPTH)                                                       040728     008300
008400 D   buf                       8192A   varying                                                             040803     008400
008500 D   errcode                     10I 0                                                                     040803     008500
008600 D   line                        10I 0                                                                     040803     008600
008700 D   column                      10I 0                                                                     040803     008700
008800 D   namespace                    1N                                                                       070329     008800
008900 D   nschar                       1A                                                                       070329     008900
009000 D   xlate                       52a                                                                       070816     009000
009100                                                                                                           040728     009100
009200 D p_element       s               *                                                                       040728     009200
009300 D element         ds                  qualified based(p_element)                                          040728     009300
009400 D   path                      8192A   varying                                                             060922     009400
009500 D   ns                        1024A   varying                                                             070329     009500
009600 D   name                      1024A   varying                                                             040804     009600
009700 D   value                         *                                                                       070816     009700
009800 D   size                        10i 0                                                                     070816     009800
009900 D   allocsize                   10i 0                                                                     070816     009900
010000 D   attrs                         *                                                                       040805     010000
010100                                                                                                           070816     010100
010200 D CHUNKSIZE       C                   const(65536)                                                        070816     010200
010300                                                                                                           040803     010300
010400 D wkParser        s                   like(XML_Parser)                                                    040803     010400
010500 D wkElemRoot      ds                  likeds(elemroot)                                                    040803     010500
010600 D wkNamespace     s              1N   inz(*OFF)                                                           070329     010600
010700 D wkRetFull       s              1N   inz(*OFF)                                                           070816     010700
010800                                                                                                           070202     010800
010900  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       070202     010900
011000  * http_get_xml():                                                                                        070202     011000
011100  * http_url_get_xml():  Send a GET request to an HTTP server and                                          070202     011100
011200  *     receive/parse an XML response.                                                                     070202     011200
011300  *                                                                                                        070202     011300
011400  *       peURL = (input) URL to perform GET request to                                                    070202     011400
011500  * peStartProc = (input) call-back procedure to call at the start                                         070202     011500
011600  *                       of each XML element received.                                                    070202     011600
011700  *   peEndProc = (input) call-back procedure to call at the end                                           070202     011700
011800  *                       of each XML element received.                                                    070202     011800
011900  *    peUsrDta = (input) user-defined data that will be passed to the                                     070202     011900
012000  *                    call-back routine                                                                   070202     012000
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      5
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
012100  *                                                                                                        070202     012100
012200  * (other parms are identical to those in HTTP_url_get())                                                 070202     012200
012300  *                                                                                                        070202     012300
012400  *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  070202     012400
012500  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       070202     012500
012600 P http_url_get_xml...                                                                                     070202     012600
012700 P                 B                   export                                                              070202     012700
012800 D http_url_get_xml...                                                                                     070202     012800
012900 D                 PI            10I 0                                                                     070202     012900
013000 D  peURL                     32767A   varying const options(*varsize)                                     070202     013000
013100 D  peStartProc                    *   value procptr                                                       070202     013100
013200 D  peEndProc                      *   value procptr                                                       070202     013200
013300 D  peUsrDta                       *   value                                                               070202     013300
013400 D  peTimeout                    10I 0 value options(*nopass)                                              070202     013400
013500 D  peUserAgent                  64A   const options(*nopass:*omit)                                        070206     013500
013600 D  peModTime                      Z   const options(*nopass:*omit)                                        070206     013600
013700 D  peContentType                64A   const options(*nopass:*omit)                                        070206     013700
013800 D  peSOAPAction                 64A   const options(*nopass:*omit)                                        070206     013800
013900                                                                                                           070202     013900
014000 D wwRC            s             10I 0                                                                     070202     014000
014100 D wwEmptyBuf      s              1A                                                                       070202     014100
014200                                                                                                           070202     014200
014300  /free                                                                                                    070202     014300
014400                                                                                                           070202     014400
014500     wkElemRoot = *ALLx'00';                                                                               070202     014500
014600     wkElemRoot.userdata = peUsrDta;                                                                       070202     014600
014700     wkElemRoot.startcb = peStartProc;                                                                     070202     014700
014800     wkElemRoot.endcb = peEndProc;                                                                         070202     014800
014900     %len(wkElemRoot.buf) = 0;                                                                             070202     014900
015000                                                                                                           070202     015000
015100     wkParser = InitParser(wkElemRoot: *blanks);                                                           070202     015100
015200                                                                                                           070202     015200
015300     select;                                                                                     B01       070202     015300
015400     when (%parms < 5);                                                                          X01       070202     015400
015500         wwRC = http_url_get_raw( peURL                                                           01       070202     015500
015600                                : 3                                                               01       070202     015600
015700                                : %paddr(ParseXML));                                              01       070202     015700
015800     when (%parms < 6);                                                                          X01       070202     015800
015900         wwRC = http_url_get_raw( peURL                                                           01       070202     015900
016000                                : 4                                                               01       070202     016000
016100                                : %paddr(ParseXML)                                                01       070202     016100
016200                                : peTimeout );                                                    01       070202     016200
016300     when (%parms < 7);                                                                          X01       070202     016300
016400         wwRC = http_url_get_raw( peURL                                                           01       070202     016400
016500                                : 5                                                               01       070202     016500
016600                                : %paddr(ParseXML)                                                01       070202     016600
016700                                : peTimeout                                                       01       070202     016700
016800                                : peUserAgent );                                                  01       070202     016800
016900     when (%parms < 8);                                                                          X01       070202     016900
017000         wwRC = http_url_get_raw( peURL                                                           01       070202     017000
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      6
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
017100                                : 6                                                               01       070202     017100
017200                                : %paddr(ParseXML)                                                01       070202     017200
017300                                : peTimeout                                                       01       070202     017300
017400                                : peUserAgent                                                     01       070202     017400
017500                                : peModTime );                                                    01       070202     017500
017600     when (%parms < 9);                                                                          X01       070202     017600
017700         wwRC = http_url_get_raw( peURL                                                           01       070202     017700
017800                                : 7                                                               01       070202     017800
017900                                : %paddr(ParseXML)                                                01       070202     017900
018000                                : peTimeout                                                       01       070202     018000
018100                                : peUserAgent                                                     01       070202     018100
018200                                : peModTime                                                       01       070202     018200
018300                                : peContentType );                                                01       070202     018300
018400     other;                                                                                      X01       070202     018400
018500         wwRC = http_url_get_raw( peURL                                                           01       070202     018500
018600                                : 8                                                               01       070202     018600
018700                                : %paddr(ParseXML)                                                01       070202     018700
018800                                : peTimeout                                                       01       070202     018800
018900                                : peUserAgent                                                     01       070202     018900
019000                                : peModTime                                                       01       070202     019000
019100                                : peContentType                                                   01       070202     019100
019200                                : peSOAPAction );                                                 01       070202     019200
019300     endsl;                                                                                      E01       070202     019300
019400                                                                                                           070202     019400
019500     if (wkElemRoot.errcode = 0);                                                                B01       070202     019500
019600        ParseXML(0: wwEmptyBuf: 0);                                                               01       070202     019600
019700     endif;                                                                                      E01       070202     019700
019800                                                                                                           070202     019800
019900     if (wwRC=1 and wkElemRoot.errcode > 0);                                                     B01       070426     019900
020000        SetError(HTTP_XMLERR: 'XML parse failed at line '                                         01       070202     020000
020100                + %char(wkElemRoot.line) + ', col '                                               01       070202     020100
020200                + %char(wkElemRoot.column) + ': '                                                 01       070202     020200
020300                + %str(XML_ErrorString(wkElemRoot.errcode)));                                     01       070202     020300
020400        wwRC = -1;                                                                                01       070202     020400
020500     endif;                                                                                      E01       070202     020500
020600                                                                                                           070202     020600
020700     close_iconv(wkElemRoot.xlate);                                                                        070816     020700
020800     XML_ParserFree(wkParser);                                                                             070202     020800
020900                                                                                                           070202     020900
021000     return wwRC;                                                                                          070202     021000
021100  /end-free                                                                                                070202     021100
021200 P                 E                                                                                       070202     021200
021300                                                                                                           070202     021300
021400                                                                                                           070202     021400
021500  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       070202     021500
021600  * http_post_xml():                                                                                       070202     021600
021700  * http_url_post_xml(): Post data to HTTP server, and receive                                             070202     021700
021800  *        XML response.  Response is parsed as it's received                                              070202     021800
021900  *        off the wire (no temporary file is used.)                                                       070202     021900
022000  *                                                                                                        070202     022000
022100  *          peURL = (input) URL to perform GET request to                                                 070202     022100
022200  *     pePostData = (input) data to POST to the web server                                                070202     022200
022300  *  pePostDataLen = (input) length of pePostData                                                          070202     022300
022400  * peStartProc = (input) call-back procedure to call at the start                                         070202     022400
022500  *                       of each XML element received.                                                    070202     022500
022600  *   peEndProc = (input) call-back procedure to call at the end                                           070202     022600
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      7
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
022700  *                       of each XML element received.                                                    070202     022700
022800  *       peUsrDta = (input) user-defined data that will be passed                                         070202     022800
022900  *                          to the call-back routine                                                      070202     022900
023000  *                                                                                                        070202     023000
023100  * (other parms are identical to those in HTTP_url_post())                                                070202     023100
023200  *                                                                                                        070202     023200
023300  *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  070202     023300
023400  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       070202     023400
023500 P http_url_post_xml...                                                                                    070202     023500
023600 P                 B                   export                                                              070202     023600
023700 D http_url_post_xml...                                                                                    070202     023700
023800 D                 PI            10I 0                                                                     070202     023800
023900 D  peURL                     32767A   varying const options(*varsize)                                     070202     023900
024000 D  pePostData                     *   value                                                               070202     024000
024100 D  pePostDataLen                10I 0 value                                                               070202     024100
024200 D  peStartProc                    *   value procptr                                                       070202     024200
024300 D  peEndProc                      *   value procptr                                                       070202     024300
024400 D  peUsrDta                       *   value                                                               070202     024400
024500 D  peTimeout                    10I 0 value options(*nopass)                                              070202     024500
024600 D  peUserAgent                  64A   const options(*nopass:*omit)                                        070206     024600
024700 D  peContentType                64A   const options(*nopass:*omit)                                        070206     024700
024800 D  peSOAPAction                 64A   const options(*nopass:*omit)                                        070206     024800
024900                                                                                                           070202     024900
025000 D wwRC            s             10I 0                                                                     070202     025000
025100 D wwEmptyBuf      s              1A                                                                       070202     025100
025200                                                                                                           070202     025200
025300  /free                                                                                                    070202     025300
025400                                                                                                           070202     025400
025500     wkElemRoot = *ALLx'00';                                                                               070202     025500
025600     wkElemRoot.userdata = peUsrDta;                                                                       070202     025600
025700     wkElemRoot.startcb = peStartProc;                                                                     070202     025700
025800     wkElemRoot.endcb = peEndProc;                                                                         070202     025800
025900     %len(wkElemRoot.buf) = 0;                                                                             070202     025900
026000                                                                                                           070202     026000
026100     wkParser = InitParser(wkElemRoot :*blanks);                                                           070202     026100
026200                                                                                                           070202     026200
026300     select;                                                                                     B01       070202     026300
026400     when (%parms < 7);                                                                          X01       070202     026400
026500         wwRC = http_url_post_raw( peURL                                                          01       070202     026500
026600                                 : pePostData                                                     01       070202     026600
026700                                 : pePostDataLen                                                  01       070202     026700
026800                                 : 5                                                              01       070202     026800
026900                                 : %paddr(ParseXML) );                                            01       070202     026900
027000     when (%parms < 8);                                                                          X01       070202     027000
027100         wwRC = http_url_post_raw( peURL                                                          01       070202     027100
027200                                 : pePostData                                                     01       070202     027200
027300                                 : pePostDataLen                                                  01       070202     027300
027400                                 : 6                                                              01       070202     027400
027500                                 : %paddr(ParseXML)                                               01       070202     027500
027600                                 : peTimeout );                                                   01       070202     027600
027700     when (%parms < 9);                                                                          X01       070202     027700
027800         wwRC = http_url_post_raw( peURL                                                          01       070202     027800
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      8
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
027900                                 : pePostData                                                     01       070202     027900
028000                                 : pePostDataLen                                                  01       070202     028000
028100                                 : 7                                                              01       070202     028100
028200                                 : %paddr(ParseXML)                                               01       070202     028200
028300                                 : peTimeout                                                      01       070202     028300
028400                                 : peUserAgent );                                                 01       070202     028400
028500     when (%parms < 10);                                                                         X01       070202     028500
028600         wwRC = http_url_post_raw( peURL                                                          01       070202     028600
028700                                 : pePostData                                                     01       070202     028700
028800                                 : pePostDataLen                                                  01       070202     028800
028900                                 : 8                                                              01       070202     028900
029000                                 : %paddr(ParseXML)                                               01       070202     029000
029100                                 : peTimeout                                                      01       070202     029100
029200                                 : peUserAgent                                                    01       070202     029200
029300                                 : peContentType );                                               01       070202     029300
029400     other;                                                                                      X01       070202     029400
029500         wwRC = http_url_post_raw( peURL                                                          01       070202     029500
029600                                 : pePostData                                                     01       070202     029600
029700                                 : pePostDataLen                                                  01       070202     029700
029800                                 : 9                                                              01       070202     029800
029900                                 : %paddr(ParseXML)                                               01       070202     029900
030000                                 : peTimeout                                                      01       070202     030000
030100                                 : peUserAgent                                                    01       070202     030100
030200                                 : peContentType                                                  01       070202     030200
030300                                 : peSOAPAction ) ;                                               01       070202     030300
030400     endsl;                                                                                      E01       070202     030400
030500                                                                                                           070202     030500
030600     if (wkElemRoot.errcode = 0);                                                                B01       070202     030600
030700        ParseXML(0: wwEmptyBuf: 0);                                                               01       070202     030700
030800     endif;                                                                                      E01       070202     030800
030900                                                                                                           070202     030900
031000     if (wwRC=1 and wkElemRoot.errcode > 0);                                                     B01       070426     031000
031100        SetError(HTTP_XMLERR: 'XML parse failed at line '                                         01       070202     031100
031200                + %char(wkElemRoot.line) + ', col '                                               01       070202     031200
031300                + %char(wkElemRoot.column) + ': '                                                 01       070202     031300
031400                + %str(XML_ErrorString(wkElemRoot.errcode)));                                     01       070202     031400
031500        %len(wkElemRoot.buf) = 0;                                                                 01       070202     031500
031600        wwRC = -1;                                                                                01       070202     031600
031700     endif;                                                                                      E01       070202     031700
031800                                                                                                           070202     031800
031900     close_iconv(wkElemRoot.xlate);                                                                        070816     031900
032000     XML_ParserFree(wkParser);                                                                             070202     032000
032100                                                                                                           070202     032100
032200     return wwRC;                                                                                          070202     032200
032300  /end-free                                                                                                070202     032300
032400 P                 E                                                                                       070202     032400
032500                                                                                                           070202     032500
032600                                                                                                           070202     032600
032700  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   070202     032700
032800  *  http_url_post_stmf_xml():                                                                             070202     032800
032900  *  http_post_stmf_xml(): Post data to HTTP server, and receive                                           070202     032900
033000  *        XML response.  Response is parsed as it's received                                              070202     033000
033100  *        off the wire (no temporary file is used.)                                                       070202     033100
033200  *                                                                                                        070202     033200
033300  *       peURL = (input) URL to post to                                                                   070202     033300
033400  *  pePostFile = (input) File of stream file (in IFS) to post                                             070202     033400
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page      9
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
033500  * peStartProc = (input) call-back procedure to call at the start                                         070202     033500
033600  *                       of each XML element received.                                                    070202     033600
033700  *   peEndProc = (input) call-back procedure to call at the end                                           070202     033700
033800  *                       of each XML element received.                                                    070202     033800
033900  *    peUsrDta = (input) user-defined data that will be passed                                            070202     033900
034000  *                          to the call-back routine                                                      070202     034000
034100  *  peTimeout  = (optional) give up if no data is received for                                            070202     034100
034200  *                       this many seconds.                                                               070202     034200
034300  * peContentType = (optional) content type to supply (mainly                                              070202     034300
034400  *                       useful when talking to CGI scripts)                                              070202     034400
034500  *                                                                                                        070202     034500
034600  *  Returns  -1 upon failure, 0 upon timeout,                                                             070202     034600
034700  *            1 for success, or an HTTP response code                                                     070202     034700
034800  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   070202     034800
034900 P http_url_post_stmf_xml...                                                                               070202     034900
035000 P                 B                   export                                                              070202     035000
035100 D http_url_post_stmf_xml...                                                                               070202     035100
035200 D                 PI            10I 0                                                                     070202     035200
035300 D  peURL                     32767A   varying const options(*varsize)                                     070202     035300
035400 D  pePostFile                32767A   varying const options(*varsize)                                     070202     035400
035500 D  peStartProc                    *   value procptr                                                       070202     035500
035600 D  peEndProc                      *   value procptr                                                       070202     035600
035700 D  peUsrDta                       *   value                                                               070202     035700
035800 D  peTimeout                    10I 0 value options(*nopass)                                              070202     035800
035900 D  peUserAgent                  64A   const options(*nopass:*omit)                                        070206     035900
036000 D  peContentType                64A   const options(*nopass:*omit)                                        070206     036000
036100 D  peSOAPAction                 64A   const options(*nopass:*omit)                                        070206     036100
036200                                                                                                           070202     036200
036300 D wwStat          ds                  likeds(statds)                                                      070202     036300
036400 D wwPostFD        S             10I 0                                                                     070202     036400
036500 D wwRC            S             10I 0                                                                     070202     036500
036600 D wwEmptyBuf      s              1A                                                                       070202     036600
036700                                                                                                           070202     036700
036800  /free                                                                                                    070202     036800
036900                                                                                                           070202     036900
037000   // *********************************************************                                            070202     037000
037100   // * open file to be posted                                                                             070202     037100
037200   // *********************************************************                                            070202     037200
037300                                                                                                           070202     037300
037400     if ( stat(pePostFile : %addr(wwStat)) < 0 );                                                B01       070202     037400
037500         SetError(HTTP_FDSTAT                                                                     01       070202     037500
037600                 : 'stat(): ' + %str(strerror(errno)));                                           01       070202     037600
037700         return -1;                                                                               01       070202     037700
037800     endif;                                                                                      E01       070202     037800
037900                                                                                                           070202     037900
038000     wwPostFD = open(pePostFile : O_RDONLY);                                                               070202     038000
038100     if ( wwPostFD < 0 );                                                                        B01       070202     038100
038200        SetError(HTTP_FDOPEN                                                                      01       070202     038200
038300                : 'open(): ' + %str(strerror(errno)));                                            01       070202     038300
038400        return -1;                                                                                01       070202     038400
038500     endif;                                                                                      E01       070202     038500
038600                                                                                                           070202     038600
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     10
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
038700   // *********************************************************                                            070202     038700
038800   //  Initialize the XML parser & our own data                                                            070202     038800
038900   // *********************************************************                                            070202     038900
039000                                                                                                           070202     039000
039100     wkElemRoot = *ALLx'00';                                                                               070202     039100
039200     wkElemRoot.userdata = peUsrDta;                                                                       070202     039200
039300     wkElemRoot.startcb = peStartProc;                                                                     070202     039300
039400     wkElemRoot.endcb = peEndProc;                                                                         070202     039400
039500     %len(wkElemRoot.buf) = 0;                                                                             070202     039500
039600                                                                                                           070202     039600
039700     wkParser = InitParser(wkElemRoot: *blanks);                                                           070202     039700
039800                                                                                                           070202     039800
039900                                                                                                           070202     039900
040000   // *********************************************************                                            070202     040000
040100   // * Call the 'raw' post procedure telling it to use the                                                070202     040100
040200   // * IFS API called 'read' to load data from the stream                                                 070202     040200
040300   // * file -- and use our ParseXML routine for the data                                                  070202     040300
040400   // * that's received.                                                                                   070202     040400
040500   // *********************************************************                                            070202     040500
040600                                                                                                           070202     040600
040700      select;                                                                                    B01       070202     040700
040800      when %parms < 6;                                                                           X01       070202     040800
040900         wwRC = http_url_post_raw2( peURL                                                         01       070202     040900
041000                                  : wwPostFD                                                      01       070202     041000
041100                                  : %paddr(read)                                                  01       070202     041100
041200                                  : wwStat.st_size                                                01       070202     041200
041300                                  : 5                                                             01       070202     041300
041400                                  : %paddr(ParseXML) );                                           01       070202     041400
041500      when %parms < 7;                                                                           X01       070202     041500
041600         wwRC = http_url_post_raw2( peURL                                                         01       070202     041600
041700                                  : wwPostFD                                                      01       070202     041700
041800                                  : %paddr(read)                                                  01       070202     041800
041900                                  : wwStat.st_size                                                01       070202     041900
042000                                  : 6                                                             01       070202     042000
042100                                  : %paddr(ParseXML)                                              01       070202     042100
042200                                  : peTimeout );                                                  01       070202     042200
042300      when %parms < 8;                                                                           X01       070202     042300
042400         wwRC = http_url_post_raw2( peURL                                                         01       070202     042400
042500                                  : wwPostFD                                                      01       070202     042500
042600                                  : %paddr(read)                                                  01       070202     042600
042700                                  : wwStat.st_size                                                01       070202     042700
042800                                  : 7                                                             01       070202     042800
042900                                  : %paddr(ParseXML)                                              01       070202     042900
043000                                  : peTimeout                                                     01       070202     043000
043100                                  : peUserAgent );                                                01       070202     043100
043200      when %parms < 9;                                                                           X01       070202     043200
043300         wwRC = http_url_post_raw2( peURL                                                         01       070202     043300
043400                                  : wwPostFD                                                      01       070202     043400
043500                                  : %paddr(read)                                                  01       070202     043500
043600                                  : wwStat.st_size                                                01       070202     043600
043700                                  : 8                                                             01       070202     043700
043800                                  : %paddr(ParseXML)                                              01       070202     043800
043900                                  : peTimeout                                                     01       070202     043900
044000                                  : peUserAgent                                                   01       070202     044000
044100                                  : peContentType );                                              01       070202     044100
044200      other;                                                                                     X01       070202     044200
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     11
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
044300         wwRC = http_url_post_raw2( peURL                                                         01       070202     044300
044400                                  : wwPostFD                                                      01       070202     044400
044500                                  : %paddr(read)                                                  01       070202     044500
044600                                  : wwStat.st_size                                                01       070202     044600
044700                                  : 9                                                             01       070202     044700
044800                                  : %paddr(ParseXML)                                              01       070202     044800
044900                                  : peTimeout                                                     01       070202     044900
045000                                  : peUserAgent                                                   01       070202     045000
045100                                  : peContentType                                                 01       070202     045100
045200                                  : peSOAPAction );                                               01       070202     045200
045300      endsl;                                                                                     E01       070202     045300
045400                                                                                                           070202     045400
045500      callp close(wwPostFD);                                                                               070202     045500
045600                                                                                                           070202     045600
045700      if (wkElemRoot.errcode = 0);                                                               B01       070426     045700
045800         ParseXML(0: wwEmptyBuf: 0);                                                              01       070202     045800
045900      endif;                                                                                     E01       070202     045900
046000                                                                                                           070202     046000
046100      if (wwRC=1 and wkElemRoot.errcode > 0);                                                    B01       070426     046100
046200         SetError(HTTP_XMLERR: 'XML parse failed at line '                                        01       070202     046200
046300                + %char(wkElemRoot.line) + ', col '                                               01       070202     046300
046400                 + %char(wkElemRoot.column) + ': '                                                01       070202     046400
046500                 + %str(XML_ErrorString(wkElemRoot.errcode)));                                    01       070202     046500
046600         %len(wkElemRoot.buf) = 0;                                                                01       070202     046600
046700         wwRC = -1;                                                                               01       070202     046700
046800      endif;                                                                                     E01       070202     046800
046900                                                                                                           070202     046900
047000      close_iconv(wkElemRoot.xlate);                                                                       070816     047000
047100      XML_ParserFree(wkParser);                                                                            070202     047100
047200                                                                                                           070202     047200
047300      return wwRC;                                                                                         070202     047300
047400                                                                                                           070202     047400
047500  /end-free                                                                                                070202     047500
047600 P                 E                                                                                       070202     047600
047700                                                                                                           070202     047700
047800  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040803     047800
047900  *  http_get_xmltf(): Request URL from server. Receive response                                           070202     047900
048000  *        to temporary file, then parse it.                                                               070202     048000
048100  *                                                                                                        040803     048100
048200  *       peURL = (input) URL to perform GET request to                                                    040805     048200
048300  * peStartProc = (input) call-back procedure to call at the start                                         040805     048300
048400  *                       of each XML element received.                                                    040805     048400
048500  *   peEndProc = (input) call-back procedure to call at the end                                           040805     048500
048600  *                       of each XML element received.                                                    040805     048600
048700  *    peUsrDta = (input) user-defined data that will be passed to the                                     040805     048700
048800  *                    call-back routine                                                                   040803     048800
048900  *                                                                                                        040803     048900
049000  * (other parms are identical to those in HTTP_url_get())                                                 040803     049000
049100  *                                                                                                        040803     049100
049200  *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  040803     049200
049300  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040803     049300
049400 P http_get_xmltf...                                                                                       070202     049400
049500 P                 B                   export                                                              040728     049500
049600 D http_get_xmltf...                                                                                       070202     049600
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     12
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
049700 D                 PI            10I 0                                                                     040728     049700
049800 D  peURL                     32767A   varying const options(*varsize)                                     040728     049800
049900 D  peStartProc                    *   value procptr                                                       040805     049900
050000 D  peEndProc                      *   value procptr                                                       040805     050000
050100 D  peUsrDta                       *   value                                                               040728     050100
050200 D  peTimeout                    10I 0 value options(*nopass)                                              070206     050200
050300 D  peUserAgent                  64A   const options(*nopass:*omit)                                        070206     050300
050400 D  peModTime                      Z   const options(*nopass:*omit)                                        070206     050400
050500 D  peContentType                64A   const options(*nopass:*omit)                                        070206     050500
050600 D  peSOAPAction                 64A   const options(*nopass:*omit)                                        070206     050600
050700                                                                                                           040802     050700
050800 D wwRC            s             10I 0                                                                     040802     050800
050900 D wwFile          s             40a   varying                                                             070125     050900
051000                                                                                                           040802     051000
051100  /free                                                                                                    040802     051100
051200                                                                                                           070125     051200
051300     // ********************************************                                                       070125     051300
051400     // * Download HTTP file to temporary location                                                         070125     051400
051500     // ********************************************                                                       070125     051500
051600                                                                                                           070125     051600
051700     wwFile = http_tempfile();                                                                             070125     051700
051800                                                                                                           040802     051800
051900     select;                                                                                     B01       040802     051900
052000     when (%parms < 5);                                                                          X01       040805     052000
052100         wwRC = http_url_get( peURL                                                               01       070125     052100
052200                            : wwFile );                                                           01       070125     052200
052300     when (%parms < 6);                                                                          X01       050221     052300
052400         wwRC = http_url_get( peURL                                                               01       070125     052400
052500                            : wwFile                                                              01       070125     052500
052600                            : peTimeout );                                                        01       070125     052600
052700     when (%parms < 7);                                                                          X01       050221     052700
052800         wwRC = http_url_get( peURL                                                               01       070125     052800
052900                            : wwFile                                                              01       070125     052900
053000                            : peTimeout                                                           01       070125     053000
053100                            : peUserAgent );                                                      01       070125     053100
053200     when (%parms < 8);                                                                          X01       050221     053200
053300         wwRC = http_url_get( peURL                                                               01       070125     053300
053400                            : wwFile                                                              01       070125     053400
053500                            : peTimeout                                                           01       070125     053500
053600                            : peUserAgent                                                         01       070125     053600
053700                            : peModTime );                                                        01       070125     053700
053800     when (%parms < 9);                                                                          X01       050221     053800
053900         wwRC = http_url_get( peURL                                                               01       070125     053900
054000                            : wwFile                                                              01       070125     054000
054100                            : peTimeout                                                           01       070125     054100
054200                            : peUserAgent                                                         01       070125     054200
054300                            : peModTime                                                           01       070125     054300
054400                            : peContentType );                                                    01       070125     054400
054500     other;                                                                                      X01       040802     054500
054600         wwRC = http_url_get( peURL                                                               01       070125     054600
054700                            : wwFile                                                              01       070125     054700
054800                            : peTimeout                                                           01       070125     054800
054900                            : peUserAgent                                                         01       070125     054900
055000                            : peModTime                                                           01       070125     055000
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     13
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
055100                            : peContentType                                                       01       070125     055100
055200                            : peSOAPAction );                                                     01       070125     055200
055300     endsl;                                                                                      E01       040802     055300
055400                                                                                                           070125     055400
055500     if (wwRC <> 1);                                                                             B01       070125     055500
055600        unlink(wwFile);                                                                           01       070125     055600
055700        return wwRC;                                                                              01       070125     055700
055800     endif;                                                                                      E01       070125     055800
055900                                                                                                           070125     055900
056000     // ********************************************                                                       070125     056000
056100     // * Run temp file through XML parser.                                                                070125     056100
056200     // ********************************************                                                       070125     056200
056300                                                                                                           070125     056300
056400     wwRC = http_parse_xml_stmf( wwFile                                                                    070125     056400
056500                               : HTTP_XML_CALC                                                             070125     056500
056600                               : peStartProc                                                               070125     056600
056700                               : peEndProc                                                                 070125     056700
056800                               : peUsrDta );                                                               070125     056800
056900     unlink(wwFile);                                                                                       070125     056900
057000                                                                                                           040802     057000
057100     if (wwRC = 0);                                                                              B01       070202     057100
057200        return 1;                                                                                 01       070202     057200
057300     else;                                                                                       X01       070202     057300
057400        return -1;                                                                                01       070202     057400
057500     endif;                                                                                      E01       070202     057500
057600                                                                                                           070202     057600
057700  /end-free                                                                                                040802     057700
057800 P                 E                                                                                       040728     057800
057900                                                                                                           040728     057900
058000                                                                                                           040728     058000
058100  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040803     058100
058200  *  http_post_xmltf(): Post data from memory. Receive                                                     070202     058200
058300  *        response to temporary file, then parse it.                                                      070202     058300
058400  *                                                                                                        040803     058400
058500  *          peURL = (input) URL to perform GET request to                                                 040803     058500
058600  *     pePostData = (input) data to POST to the web server                                                040803     058600
058700  *  pePostDataLen = (input) length of pePostData                                                          040803     058700
058800  * peStartProc = (input) call-back procedure to call at the start                                         040805     058800
058900  *                       of each XML element received.                                                    040805     058900
059000  *   peEndProc = (input) call-back procedure to call at the end                                           040805     059000
059100  *                       of each XML element received.                                                    040805     059100
059200  *       peUsrDta = (input) user-defined data that will be passed                                         040803     059200
059300  *                          to the call-back routine                                                      040803     059300
059400  *                                                                                                        040803     059400
059500  * (other parms are identical to those in HTTP_url_post())                                                040803     059500
059600  *                                                                                                        040803     059600
059700  *  Returns 1 if successful, -1 upon error, 0 if timeout                                                  040803     059700
059800  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040803     059800
059900 P http_post_xmltf...                                                                                      070202     059900
060000 P                 B                   export                                                              040728     060000
060100 D http_post_xmltf...                                                                                      070202     060100
060200 D                 PI            10I 0                                                                     040728     060200
060300 D  peURL                     32767A   varying const options(*varsize)                                     040728     060300
060400 D  pePostData                     *   value                                                               040728     060400
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     14
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
060500 D  pePostDataLen                10I 0 value                                                               040728     060500
060600 D  peStartProc                    *   value procptr                                                       040805     060600
060700 D  peEndProc                      *   value procptr                                                       040805     060700
060800 D  peUsrDta                       *   value                                                               040728     060800
060900 D  peTimeout                    10I 0 value options(*nopass)                                              040728     060900
061000 D  peUserAgent                  64A   const options(*nopass:*omit)                                        070206     061000
061100 D  peContentType                64A   const options(*nopass:*omit)                                        070206     061100
061200 D  peSOAPAction                 64A   const options(*nopass:*omit)                                        070206     061200
061300                                                                                                           040804     061300
061400 D wwRC            s             10I 0                                                                     040804     061400
061500 D wwFile          s             40a   varying                                                             070125     061500
061600                                                                                                           040804     061600
061700  /free                                                                                                    040804     061700
061800                                                                                                           070125     061800
061900     // ********************************************                                                       070125     061900
062000     // * POST data and download results to temporary                                                      070125     062000
062100     // * stream file.                                                                                     070125     062100
062200     // ********************************************                                                       070125     062200
062300                                                                                                           070125     062300
062400     wwFile = http_tempfile();                                                                             070125     062400
062500                                                                                                           040804     062500
062600     select;                                                                                     B01       040804     062600
062700     when (%parms < 7);                                                                          X01       040805     062700
062800        wwRC = http_url_post( peURL                                                               01       070125     062800
062900                            : pePostData                                                          01       070125     062900
063000                            : pePostDataLen                                                       01       070125     063000
063100                            : wwFile        );                                                    01       070125     063100
063200     when (%parms < 8);                                                                          X01       050221     063200
063300        wwRC = http_url_post( peURL                                                               01       070125     063300
063400                            : pePostData                                                          01       070125     063400
063500                            : pePostDataLen                                                       01       070125     063500
063600                            : wwFile                                                              01       070125     063600
063700                            : peTimeout     );                                                    01       070125     063700
063800     when (%parms < 9);                                                                          X01       050221     063800
063900        wwRC = http_url_post( peURL                                                               01       070125     063900
064000                            : pePostData                                                          01       070125     064000
064100                            : pePostDataLen                                                       01       070125     064100
064200                            : wwFile                                                              01       070125     064200
064300                            : peTimeout                                                           01       070125     064300
064400                            : peUserAgent   );                                                    01       070125     064400
064500     when (%parms < 10);                                                                         X01       050221     064500
064600        wwRC = http_url_post( peURL                                                               01       070125     064600
064700                            : pePostData                                                          01       070125     064700
064800                            : pePostDataLen                                                       01       070125     064800
064900                            : wwFile                                                              01       070125     064900
065000                            : peTimeout                                                           01       070125     065000
065100                            : peUserAgent                                                         01       070125     065100
065200                            : peContentType );                                                    01       070125     065200
065300     other;                                                                                      X01       040804     065300
065400        wwRC = http_url_post( peURL                                                               01       070125     065400
065500                            : pePostData                                                          01       070125     065500
065600                            : pePostDataLen                                                       01       070125     065600
065700                            : wwFile                                                              01       070125     065700
065800                            : peTimeout                                                           01       070125     065800
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     15
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
065900                            : peUserAgent                                                         01       070125     065900
066000                            : peContentType                                                       01       070125     066000
066100                            : peSOAPAction  );                                                    01       070125     066100
066200     endsl;                                                                                      E01       040804     066200
066300                                                                                                           070125     066300
066400     if (wwRC <> 1);                                                                             B01       070125     066400
066500        unlink(wwFile);                                                                           01       070125     066500
066600        return wwRC;                                                                              01       070125     066600
066700     endif;                                                                                      E01       070125     066700
066800                                                                                                           070125     066800
066900     // ********************************************                                                       070125     066900
067000     // * Run temporary file through XML parser.                                                           070125     067000
067100     // ********************************************                                                       070125     067100
067200                                                                                                           070125     067200
067300     wwRC = http_parse_xml_stmf( wwFile                                                                    070125     067300
067400                               : HTTP_XML_CALC                                                             070125     067400
067500                               : peStartProc                                                               070125     067500
067600                               : peEndProc                                                                 070125     067600
067700                               : peUsrDta );                                                               070125     067700
067800     unlink(wwFile);                                                                                       070125     067800
067900                                                                                                           070202     067900
068000     if (wwRC = 0);                                                                              B01       070202     068000
068100        return 1;                                                                                 01       070202     068100
068200     else;                                                                                       X01       070202     068200
068300        return -1;                                                                                01       070202     068300
068400     endif;                                                                                      E01       070202     068400
068500  /end-free                                                                                                040804     068500
068600 P                 E                                                                                       040728     068600
068700                                                                                                           040805     068700
068800                                                                                                           040805     068800
068900  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   040805     068900
069000  *  http_post_stmf_xmltf(): Post data from stream file.  Receive                                          070202     069000
069100  *        response to temporary file, then parse it.                                                      070202     069100
069200  *                                                                                                        040805     069200
069300  *       peURL = (input) URL to post to                                                                   040805     069300
069400  *  pePostFile = (input) File of stream file (in IFS) to post                                             040805     069400
069500  * peStartProc = (input) call-back procedure to call at the start                                         040805     069500
069600  *                       of each XML element received.                                                    040805     069600
069700  *   peEndProc = (input) call-back procedure to call at the end                                           040805     069700
069800  *                       of each XML element received.                                                    040805     069800
069900  *    peUsrDta = (input) user-defined data that will be passed                                            040805     069900
070000  *                          to the call-back routine                                                      040805     070000
070100  *  peTimeout  = (optional) give up if no data is received for                                            040805     070100
070200  *                       this many seconds.                                                               040805     070200
070300  * peContentType = (optional) content type to supply (mainly                                              040805     070300
070400  *                       useful when talking to CGI scripts)                                              040805     070400
070500  *                                                                                                        040805     070500
070600  *  Returns  -1 upon failure, 0 upon timeout,                                                             040805     070600
070700  *            1 for success, or an HTTP response code                                                     040805     070700
070800  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   040805     070800
070900 P http_post_stmf_xmltf...                                                                                 070202     070900
071000 P                 B                   export                                                              040805     071000
071100 D http_post_stmf_xmltf...                                                                                 070202     071100
071200 D                 PI            10I 0                                                                     040805     071200
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     16
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
071300 D  peURL                     32767A   varying const options(*varsize)                                     040805     071300
071400 D  pePostFile                32767A   varying const options(*varsize)                                     040805     071400
071500 D  peStartProc                    *   value procptr                                                       040805     071500
071600 D  peEndProc                      *   value procptr                                                       040805     071600
071700 D  peUsrDta                       *   value                                                               040805     071700
071800 D  peTimeout                    10I 0 value options(*nopass)                                              040805     071800
071900 D  peUserAgent                  64A   const options(*nopass:*omit)                                        070206     071900
072000 D  peContentType                64A   const options(*nopass:*omit)                                        070206     072000
072100 D  peSOAPAction                 64A   const options(*nopass:*omit)                                        070206     072100
072200                                                                                                           040805     072200
072300 D wwRC            S             10I 0                                                                     040805     072300
072400 D wwFile          s             50a   varying                                                             070125     072400
072500                                                                                                           040805     072500
072600  /free                                                                                                    040805     072600
072700                                                                                                           040805     072700
072800                                                                                                           040805     072800
072900   // *********************************************************                                            040805     072900
073000   //   Send stream file to server, and download results                                                   070125     073000
073100   //   to a temporary location.                                                                           070125     073100
073200   // *********************************************************                                            040805     073200
073300                                                                                                           070125     073300
073400      wwFile = http_tempfile();                                                                            070125     073400
073500                                                                                                           040805     073500
073600      select;                                                                                    B01       040805     073600
073700      when %parms < 6;                                                                           X01       040805     073700
073800         wwRC = http_url_post_stmf( peURL                                                         01       070125     073800
073900                                  : pePostFile                                                    01       070125     073900
074000                                  : wwFile       );                                               01       070125     074000
074100      when %parms < 7;                                                                           X01       050221     074100
074200         wwRC = http_url_post_stmf( peURL                                                         01       070125     074200
074300                                  : pePostFile                                                    01       070125     074300
074400                                  : wwFile                                                        01       070125     074400
074500                                  : peTimeout    );                                               01       070125     074500
074600      when %parms < 8;                                                                           X01       050221     074600
074700         wwRC = http_url_post_stmf( peURL                                                         01       070125     074700
074800                                  : pePostFile                                                    01       070125     074800
074900                                  : wwFile                                                        01       070125     074900
075000                                  : peTimeout                                                     01       070125     075000
075100                                  : peUserAgent  );                                               01       070125     075100
075200      when %parms < 9;                                                                           X01       050221     075200
075300         wwRC = http_url_post_stmf( peURL                                                         01       070125     075300
075400                                  : pePostFile                                                    01       070125     075400
075500                                  : wwFile                                                        01       070125     075500
075600                                  : peTimeout                                                     01       070125     075600
075700                                  : peUserAgent                                                   01       070125     075700
075800                                  : peContentType);                                               01       070125     075800
075900      other;                                                                                     X01       040805     075900
076000         wwRC = http_url_post_stmf( peURL                                                         01       070125     076000
076100                                  : pePostFile                                                    01       070125     076100
076200                                  : wwFile                                                        01       070125     076200
076300                                  : peTimeout                                                     01       070125     076300
076400                                  : peUserAgent                                                   01       070125     076400
076500                                  : peContentType                                                 01       070125     076500
076600                                  : peSOAPAction );                                               01       070125     076600
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     17
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
076700      endsl;                                                                                     E01       040805     076700
076800                                                                                                           070125     076800
076900      if (wwRC <> 1);                                                                            B01       070125     076900
077000         unlink(wwFile);                                                                          01       070125     077000
077100         return wwRC;                                                                             01       070125     077100
077200      endif;                                                                                     E01       070125     077200
077300                                                                                                           070125     077300
077400   // *********************************************************                                            070125     077400
077500   //   Parse temporary XML results                                                                        070125     077500
077600   // *********************************************************                                            070125     077600
077700                                                                                                           070125     077700
077800      wwRC = http_parse_xml_stmf( wwFile                                                                   070125     077800
077900                                : HTTP_XML_CALC                                                            070125     077900
078000                                : peStartProc                                                              070125     078000
078100                                : peEndProc                                                                070125     078100
078200                                : peUsrDta );                                                              070125     078200
078300      unlink(wwFile);                                                                                      070125     078300
078400                                                                                                           070202     078400
078500      if (wwRC = 0);                                                                             B01       070202     078500
078600         return 1;                                                                                01       070202     078600
078700      else;                                                                                      X01       070202     078700
078800         return -1;                                                                               01       070202     078800
078900      endif;                                                                                     E01       070202     078900
079000  /end-free                                                                                                040805     079000
079100 P                 E                                                                                       040805     079100
079200                                                                                                           040728     079200
079300  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     079300
079400  * ParseXML(): (internal) routine called by HTTPAPI when any                                              040803     079400
079500  *             data is received.  We buffer it and pass it along                                          040803     079500
079600  *             to XML_Parse (part of Expat) as required.                                                  040803     079600
079700  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     079700
079800 P ParseXML        B                   export                                                              040802     079800
079900 D ParseXML        PI            10I 0                                                                     040802     079900
080000 D   peFD                        10I 0 value                                                               040802     080000
080100 D   peData                    8192A   options(*varsize)                                                   060923     080100
080200 D   peLength                    10I 0 value                                                               060923     080200
080300                                                                                                           060923     080300
080400 D done            s             10I 0 inz(0)                                                              060923     080400
080500                                                                                                           040802     080500
080600  /free                                                                                                    040802     080600
080700     if (peLength = 0);                                                                          B01       060923     080700
080800        done = 1;                                                                                 01       060923     080800
080900     endif;                                                                                      E01       060923     080900
081000                                                                                                           070426     081000
081100     if (wkElemRoot.errcode > 0);                                                                B01       070426     081100
081200        return peLength;                                                                          01       070426     081200
081300     endif;                                                                                      E01       070426     081300
081400                                                                                                           060923     081400
081500     if ( XML_Parse( wkParser: %addr(peData): peLength: done )                                   B01       060923     081500
081600             = XML_STATUS_ERROR );                                                               B01       060923     081600
081700         wkElemRoot.errcode = XML_GetErrorCode(wkParser);                                         01       060923     081700
081800         wkElemRoot.line    = XML_GetCurrentLineNumber(wkParser);                                 01       060923     081800
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     18
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
081900         wkElemRoot.column  = XML_GetCurrentColumnNumber(wkParser); ----                          01       060923     081900
082000     endif;                                                                                      E01       060923     082000
082100                                                                                                           040803     082100
082200    return peLength;                                                                                       060923     082200
082300  /end-free                                                                                                040803     082300
082400 P                 E                                                                                       040803     082400
082500                                                                                                           040802     082500
082600                                                                                                           040802     082600
082700  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040802     082700
082800  * InitParser():  Initialize the XML parser that will parse the                                           040802     082800
082900  *                data that we receive, and associate it with                                             040802     082900
083000  *                our element stack...                                                                    040802     083000
083100  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040802     083100
083200 P InitParser      B                                                                                       040802     083200
083300 D InitParser      PI                  like(XML_Parser)                                                    040802     083300
083400 D   peElemStack                       likeds(elemroot)                                                    040802     083400
083500 D   peEncoding                 100C   const                                                               060923     083500
083600 D wwParser        s                   like(XML_Parser)                                                    040802     083600
083700  /free                                                                                                    040728     083700
083800                                                                                                           070329     083800
083900      peElemStack.namespace = wkNamespace;                                                                 070329     083900
084000      peElemStack.nschar    = x'0c';                                                                       070329     084000
084100                                                                                                           070816     084100
084200      peElemStack.xlate     = new_iconv(13488: 0);                                                         070816     084200
084300                                                                                                           040728     084300
084400      select;                                                                                    B01       070329     084400
084500      when wkNamespace=*off and peEncoding=*blanks;                                              X01       070329     084500
084600         wwParser = XML_ParserCreate(*omit);                                                      01       070329     084600
084700      when wkNamespace=*off;                                                                     X01       070329     084700
084800         wwParser = XML_ParserCreate(peEncoding);                                                 01       070329     084800
084900      when peEncoding=*blanks;                                                                   X01       070329     084900
085000         wwParser = XML_ParserCreateNS(*omit: peElemStack.nschar);                                01       070329     085000
085100      other;                                                                                     X01       070329     085100
085200         wwParser = XML_ParserCreateNS(peEncoding: peElemStack.nschar);                           01       070329     085200
085300      endsl;                                                                                     E01       070329     085300
085400                                                                                                           040728     085400
085500      XML_SetUserData(wwParser: %addr(peElemStack));                                                       040804     085500
085600                                                                                                           040728     085600
085700      XML_SetElementHandler( wwParser                                                                      040728     085700
085800                           : %paddr(startElement)                                                          040728     085800
085900                           : %paddr(endElement) );                                                         040728     085900
086000                                                                                                           040728     086000
086100      XML_SetCharacterDataHandler( wwParser                                                                040728     086100
086200                                 : %paddr(charData) );                                                     040728     086200
086300                                                                                                           040728     086300
086400      return wwParser;                                                                                     040728     086400
086500                                                                                                           040728     086500
086600  /end-free                                                                                                040728     086600
086700 P                 E                                                                                       040728     086700
086800                                                                                                           040805     086800
086900                                                                                                           040728     086900
087000  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     087000
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     19
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
087100  *  Expat calls this when the start tag for an element appears                                            070130     087100
087200  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     087200
087300 P startElement    B                   export                                                              040804     087300
087400 D startElement    PI                                                                                      040728     087400
087500 D   root                              likeds(elemroot)                                                    040728     087500
087600 D   localName                16373C   options(*varsize)                                                   070426     087600
087700 D   atts                          *   dim(32767) options(*varsize)                                        040728     087700
087800                                                                                                           040728     087800
087900 D p_oldElem       s               *                                                                       040728     087900
088000 D oldElem         ds                  likeds(element)                                                     040728     088000
088100 D                                     based(p_oldElem)                                                    040804     088100
088200                                                                                                           040728     088200
088300 D p_newElem       s               *                                                                       040728     088300
088400 D newElem         ds                  likeds(element)                                                     040728     088400
088500 D                                     based(p_newElem)                                                    040804     088500
088600                                                                                                           040805     088600
088700 D p_callback      s               *   procptr                                                             040805     088700
088800 D Callback        PR                  extproc(p_callback)                                                 040805     088800
088900 D   userdata                      *   value                                                               040805     088900
089000 D   depth                       10I 0 value                                                               040805     089000
089100 D   name                      1024A   varying const                                                       040805     089100
089200 D   path                     24576A   varying const                                                       040805     089200
089300 D   attrs                         *   dim(32767)                                                          040805     089300
089400 D                                     const options(*varsize)                                             040805     089400
089500 D CallbackNS      PR                  extproc(p_callback)                                                 070329     089500
089600 D   userdata                      *   value                                                               070329     089600
089700 D   depth                       10I 0 value                                                               070329     089700
089800 D   namespace                 1024A   varying const                                                       070329     089800
089900 D   name                      1024A   varying const                                                       070329     089900
090000 D   path                     24576A   varying const                                                       070329     090000
090100 D   attrs                         *   dim(32767)                                                          070329     090100
090200 D                                     const options(*varsize)                                             070329     090200
090300                                                                                                           040805     090300
090400 D p_AttrAry       s               *                                                                       040805     090400
090500 D wwAttrAry       s               *   dim(32767) based(p_AttrAry)                                         040805     090500
090600                                                                                                           040804     090600
090700 D testatt         s           1024A   varying                                                             040804     090700
090800 D x               s             10I 0                                                                     040804     090800
090900 D len             s             10I 0                                                                     051229     090900
091000 D pos             s             10I 0                                                                     070329     091000
091100 D xlname          s           1024a   based(p_xlname)                                                     070822     091100
091200                                                                                                           040728     091200
091300  /free                                                                                                    040728     091300
091400                                                                                                           040728     091400
091500      // make room for a new element.                                                                      040728     091500
091600                                                                                                           040728     091600
091700      root.depth = root.depth + 1;                                                                         040728     091700
091800      root.entry(root.depth) = xalloc(%size(newElem));                                                     070125     091800
091900      p_newElem = root.entry(root.depth);                                                                  040804     091900
092000      newElem = *ALLX'00';                                                                                 040804     092000
092100                                                                                                           070816     092100
092200      // make room for data in the new element.                                                            070816     092200
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     20
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
092300                                                                                                           070816     092300
092400      newElem.size      = 0;                                                                               070816     092400
092500      newElem.AllocSize = CHUNKSIZE;                                                                       070816     092500
092600      newElem.value     = xalloc(CHUNKSIZE);                                                               070816     092600
092700                                                                                                           040728     092700
092800      // copy path from previous element.                                                                  040728     092800
092900                                                                                                           040728     092900
093000      if (root.depth > 1);                                                                       B01       040728     093000
093100         p_oldElem = root.entry(root.depth - 1);                                                  01       040728     093100
093200         newElem.path = oldElem.path + '/' + oldElem.name;                                        01       040728     093200
093300      endif;                                                                                     E01       040728     093300
093400                                                                                                           040728     093400
093500      // set new name & translate to EBCDIC.                                                               040804     093500
093600                                                                                                           040728     093600
093700      len = %scan(u'0000': localName) - 1;                                                                 070426     093700
094100      len = iconvdyn( len * 2                                                                              070822     094100
094200                    : %addr(localName)                                                                     070822     094200
094300                    : root.xlate                                                                           070822     094300
094400                    : p_xlname );                                                                          070822     094400
094500      newElem.name = %subst(xlname:1:len);                                                                 070822     094500
094600                                                                                                           070329     094600
094700      // if namespaces are enabled, separate namespace...                                                  070329     094700
094800                                                                                                           070329     094800
094900      if (root.namespace);                                                                       B01       070329     094900
095000          newElem.ns = '';                                                                        01       070329     095000
095100          pos = %scan(root.nschar: newElem.name);                                                 01       070329     095100
095200          if (pos>1 and pos<len);                                                                B02       070329     095200
095300              newElem.ns   = %subst(newElem.name:1:pos-1);                                        02       070330     095300
095400              newElem.name = %subst(newElem.name:pos+1);                                          02       070330     095400
095500          endif;                                                                                 E02       070329     095500
095600      endif;                                                                                     E01       070329     095600
095700                                                                                                           040804     095700
095800      newElem.attrs = copyAttrs(root:atts);                                                                070822     095800
095900                                                                                                           040805     095900
096000      if (root.startcb <> *NULL);                                                                B01       040805     096000
096100         p_AttrAry = newElem.Attrs;                                                               01       040805     096100
096200         p_callback = root.startcb;                                                               01       040805     096200
096300         if (root.namespace);                                                                    B02       070329     096300
096400             CallbackNS( root.userdata                                                            02       070329     096400
096500                       : root.depth                                                               02       070329     096500
096600                       : newElem.ns                                                               02       070329     096600
096700                       : newElem.name                                                             02       070329     096700
096800                       : newElem.path                                                             02       070329     096800
096900                       : wwAttrAry );                                                             02       070329     096900
097000         else;                                                                                   X02       070329     097000
097100             Callback( root.userdata                                                              02       070329     097100
097200                     : root.depth                                                                 02       070329     097200
097300                     : newElem.name                                                               02       070329     097300
097400                     : newElem.path                                                               02       070329     097400
097500                     : wwAttrAry );                                                               02       070329     097500
097600         endif;                                                                                  E02       070329     097600
097700      endif;                                                                                     E01       040805     097700
097800                                                                                                           040728     097800
097900      return;                                                                                              040728     097900
098000  /end-free                                                                                                040728     098000
098100 P                 E                                                                                       040728     098100
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     21
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
098200                                                                                                           040728     098200
098300  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     098300
098400  * charData(): Expat calls this when character data is found in                                           070130     098400
098500  *             between one element and another.                                                           040728     098500
098600  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     098600
098700 P charData        B                   export                                                              040804     098700
098800 D charData        PI                                                                                      040728     098800
098900 D   root                              likeds(elemroot)                                                    040728     098900
099000 D   string                   16373C   options(*varsize)                                                   060922     099000
099100 D   len                         10I 0 value                                                               040728     099100
099200 D x               s             10I 0                                                                     040728     099200
099300 D y               s             10I 0                                                                     070816     099300
099400 D newsize         s             10u 0                                                                     070816     099400
099500 D newval          s                   like(string) based(p_newval)                                        070816     099500
099600  /free                                                                                                    040728     099600
099700                                                                                                           040728     099700
099800      p_element = root.entry(root.depth);                                                                  040804     099800
099900                                                                                                           070816     099900
100000      newsize = element.size + (len * 2);                                                                  070816     100000
100100      dow (newsize > element.allocsize);                                                         B01       070816     100100
100200           element.allocsize = element.allocsize + CHUNKSIZE;                                     01       070816     100200
100300           element.value = xrealloc( element.value                                                01       070816     100300
100400                                   : element.allocsize );                                         01       070816     100400
100500      enddo;                                                                                     E01       070816     100500
100600                                                                                                           070816     100600
100700      p_newval = element.value + element.size;                                                             070816     100700
100800      y = 0;                                                                                               070816     100800
100900                                                                                                           040728     100900
101000      for x = 1 to len;                                                                          B01       040728     101000
101100          if (%subst(string: x: 1) <> u'000d'                                                    B02       060922     101100
101200              and %subst(string: x: 1) <> u'000a');                                              B02       060922     101200
101300                 y = y + 1;                                                                       02       070816     101300
101400                 %subst(newval:y:1) = %subst(string:x:1);                                         02       070816     101400
101500          endif;                                                                                 E02       040728     101500
101600      endfor;                                                                                    E01       040728     101600
101700                                                                                                           070816     101700
101800      element.size = element.size + (y*2);                                                                 070816     101800
101900  /end-free                                                                                                040728     101900
102000 P                 E                                                                                       040728     102000
102100                                                                                                           040728     102100
102200                                                                                                           040728     102200
102300  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     102300
102400  *  Expat calls this when the close tag for an element appears                                            070130     102400
102500  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                       040728     102500
102600 P endElement      B                   export                                                              040804     102600
102700 D endElement      PI                                                                                      040728     102700
102800 D   root                              likeds(elemroot)                                                    040728     102800
102900 D   name                          *   value                                                               040728     102900
103000                                                                                                           040728     103000
103100 D p_callback      s               *   procptr                                                             040728     103100
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     22
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
103200 D Callback        PR                  extproc(p_callback)                                                 040728     103200
103300 D   userdata                      *   value                                                               040805     103300
103400 D   depth                       10I 0 value                                                               040728     103400
103500 D   name                      1024A   varying const                                                       040804     103500
103600 D   path                     24576A   varying const                                                       040804     103600
103700 D   retval                        *   value                                                               070816     103700
103800 D   Attrs                         *   dim(32767)                                                          040805     103800
103900 D                                     const options(*varsize)                                             070329     103900
104000 D CallbackNS      PR                  extproc(p_callback)                                                 070329     104000
104100 D   userdata                      *   value                                                               070329     104100
104200 D   depth                       10I 0 value                                                               070329     104200
104300 D   ns                        1024A   varying const                                                       070329     104300
104400 D   name                      1024A   varying const                                                       070329     104400
104500 D   path                     24576A   varying const                                                       070329     104500
104600 D   retval                        *   value                                                               070816     104600
104700 D   Attrs                         *   dim(32767)                                                          070329     104700
104800 D                                     const options(*varsize)                                             070329     104800
104900                                                                                                           040805     104900
105000 D p_AttrAry       s               *                                                                       040805     105000
105100 D wwAttrAry       s               *   dim(32767) based(p_AttrAry)                                         040805     105100
105200                                                                                                           070816     105200
105300 D valDS           ds                                                                                      070816     105300
105400 D   p_newval                      *   inz(*null)                                                          070816     105400
105500 D   len                         10i 0 inz(0)                                                              070816     105500
105600                                                                                                           070816     105600
105700 D newval          s          65535a   based(p_newval)                                                     070816     105700
105800 D value           s          65535a   varying                                                             070816     105800
105900 D p_retval        s               *                                                                       070816     105900
106000                                                                                                           040728     106000
106100  /free                                                                                                    040728     106100
106200                                                                                                           040728     106200
106300      p_element = root.entry(root.depth);                                                                  040804     106300
106400                                                                                                           040805     106400
106500      if (root.endcb <> *NULL);                                                                  B01       040805     106500
106600                                                                                                           070816     106600
106700         p_AttrAry  = element.attrs;                                                              01       070816     106700
106800         p_callback = root.endcb;                                                                 01       040805     106800
106900         p_newval   = *null;                                                                      01       070816     106900
107000                                                                                                           070816     107000
107100         if (element.size < 1);                                                                  B02       070816     107100
107200             value = '';                                                                          02       070816     107200
107300             len = 0;                                                                             02       070816     107300
107400         else;                                                                                   X02       070816     107400
107500             len = iconvdyn( element.size                                                         02       070816     107500
107600                           : element.value                                                        02       070816     107600
107700                           : root.xlate                                                           02       070816     107700
107800                           : p_newval );                                                          02       070816     107800
107900         endif;                                                                                  E02       070816     107900
108000                                                                                                           070816     108000
108100         if (wkRetFull);                                                                         B02       070816     108100
108200             p_retval = %addr(valDs);                                                             02       070816     108200
108300         else;                                                                                   X02       070816     108300
108400             if (len > %size(value)-2);                                                          B03       070816     108400
108500                len = %size(value) - 2;                                                           03       070816     108500
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     23
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
108600             endif;                                                                              E03       070816     108600
108700             value = %subst(newval:1:len);                                                        02       070816     108700
108800             p_retval = %addr(value);                                                             02       070816     108800
108900         endif;                                                                                  E02       070816     108900
109000                                                                                                           070816     109000
109100         if (root.namespace);                                                                    B02       070329     109100
109200             CallbackNS( root.userdata                                                            02       070329     109200
109300                       : root.depth                                                               02       070329     109300
109400                       : element.ns                                                               02       070329     109400
109500                       : element.name                                                             02       070329     109500
109600                       : element.path                                                             02       070329     109600
109700                       : p_retval                                                                 02       070816     109700
109800                       : wwAttrAry                                                                02       070329     109800
109900                     );                                                                           02       070329     109900
110000         else;                                                                                   X02       070329     110000
110100             Callback( root.userdata                                                              02       070329     110100
110200                     : root.depth                                                                 02       070329     110200
110300                     : element.name                                                               02       070329     110300
110400                     : element.path                                                               02       070329     110400
110500                     : p_retval                                                                   02       070816     110500
110600                     : wwAttrAry                                                                  02       070329     110600
110700                     );                                                                           02       070329     110700
110800         endif;                                                                                  E02       070329     110800
110900         if (p_newval <> *null);                                                                 B02       070816     110900
111000            xdealloc(p_newval);                                                                   02       070816     111000
111100         endif;                                                                                  E02       070816     111100
111200      endif;                                                                                     E01       040805     111200
111300                                                                                                           040728     111300
111400      freeAttrs(element.attrs);                                                                            040805     111400
111500      xdealloc(element.value);                                                                             070816     111500
111600      xdealloc(root.entry(root.depth));                                                                    070125     111600
111700      p_element = *NULL;                                                                                   040728     111700
111800      root.depth = root.depth - 1;                                                                         040728     111800
111900                                                                                                           040728     111900
112000      return;                                                                                              040728     112000
112100  /end-free                                                                                                040728     112100
112200 P                 E                                                                                       040728     112200
112300                                                                                                           040805     112300
112400                                                                                                           040805     112400
112500  ******************************************************************                                       040805     112500
112600  * copyAttrs():  Allocate space for tag attributes, copy them                                             040805     112600
112700  *               to the space, and translate them to EBCDIC                                               040805     112700
112800  ******************************************************************                                       040805     112800
112900 P copyAttrs       B                                                                                       040805     112900
113000 D copyAttrs       PI              *                                                                       040805     113000
113100 D   root                              likeds(elemroot)                                                    070822     113100
113200 D   peAttr                        *   dim(32767) options(*varsize)                                        040805     113200
113300                                                                                                           040805     113300
113400 D x               s             10I 0                                                                     040805     113400
113500 D wwCount         s             10I 0                                                                     040805     113500
113600 D wwLen           s             10I 0                                                                     040805     113600
113700                                                                                                           040805     113700
113800 D p_Array         s               *                                                                       040805     113800
113900 D wwArray         s               *   dim(32767) based(p_Array)                                           040805     113900
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     24
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
114000                                                                                                           051229     114000
114100 D p_endnull       s               *                                                                       051229     114100
114200 D endnull         s              1A   based(p_endnull)                                                    051229     114200
114300                                                                                                           060922     114300
114400 D attrdta         s          16383C   based(p_attrdta)                                                    060922     114400
114500 D newdta          s          16383A   based(p_newdta)                                                     060922     114500
114600 D xlname          s           1024a   based(p_xlname)                                                     070822     114600
114700                                                                                                           040805     114700
114800  /free                                                                                                    040805     114800
114900                                                                                                           040805     114900
115000     // figure out how many elements are in the peAttr array:                                              040805     115000
115100                                                                                                           040805     115100
115200     x = 1;                                                                                                040805     115200
115300     dow peAttr(x) <> *NULL;                                                                     B01       040805     115300
115400        x = x + 1;                                                                                01       040805     115400
115500     enddo;                                                                                      E01       040805     115500
115600     wwCount = x;                                                                                          040805     115600
115700                                                                                                           040805     115700
115800     // allocate space for the array of pointers                                                           040805     115800
115900                                                                                                           040805     115900
116000     p_array = xalloc(%size(p_array) * wwCount);                                                           070125     116000
116100                                                                                                           040805     116100
116200                                                                                                           040805     116200
116300     // allocate space for each attribute, copy it, and                                                    040805     116300
116400     //  translate it to EBCDIC.                                                                           040805     116400
116500                                                                                                           040805     116500
116600     for x = 1 to (wwCount - 1);                                                                 B01       040805     116600
116700        p_attrdta = peAttr(x);                                                                    01       060922     116700
116800        wwLen = %scan(u'0000': attrdta);                                                          01       060922     116800
116900        if (wwLen = 0);                                                                          B02       060922     116900
117000           wwLen = %len(attrdta);                                                                 02       060922     117000
117100        endif;                                                                                   E02       060922     117100
117200        if (wwLen > 0);                                                                          B02       070822     117200
117300            wwLen = iconvdyn( wwLen * 2                                                           02       070822     117300
117400                            : p_attrdta                                                           02       070822     117400
117500                            : root.xlate                                                          02       070822     117500
117600                            : wwArray(x) );                                                       02       070822     117600
117800        else;                                                                                    X02       070822     117800
118400            %subst(newdta:1:1) = x'00';                                                           02       060922     118400
118500        endif;                                                                                   E02       060922     118500
118600     endfor;                                                                                     E01       040805     118600
118700                                                                                                           040805     118700
118800     wwArray(wwCount) = *NULL;                                                                             040805     118800
118900                                                                                                           040805     118900
119000     return p_Array;                                                                                       040805     119000
119100  /end-free                                                                                                040805     119100
119200 P                 E                                                                                       040805     119200
119300                                                                                                           040805     119300
119400                                                                                                           040805     119400
119500  ******************************************************************                                       040805     119500
119600  * freeAttrs():  deallocate the memory allocaed by copyAttrs                                              040805     119600
119700  ******************************************************************                                       040805     119700
119800 P freeAttrs       B                                                                                       040805     119800
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     25
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
119900 D freeAttrs       PI                                                                                      040805     119900
120000 D   peAttrs                       *   value                                                               040805     120000
120100                                                                                                           040805     120100
120200 D x               s             10I 0                                                                     040805     120200
120300 D p_Array         s               *                                                                       040805     120300
120400 D wwArray         s               *   dim(32767) based(p_Array)                                           040805     120400
120500                                                                                                           040805     120500
120600  /free                                                                                                    040805     120600
120700                                                                                                           040805     120700
120800       p_Array = peAttrs;                                                                                  040805     120800
120900       x = 1;                                                                                              040805     120900
121000                                                                                                           040805     121000
121100       dow wwArray(x) <> *NULL;                                                                  B01       040805     121100
121200          xdealloc(wwArray(x));                                                                   01       070125     121200
121300          x = x + 1;                                                                              01       040805     121300
121400       enddo;                                                                                    E01       040805     121400
121500                                                                                                           040805     121500
121600       xdealloc(peAttrs);                                                                                  070125     121600
121700                                                                                                           040805     121700
121800  /end-free                                                                                                040805     121800
121900 P                 E                                                                                       040805     121900
122000                                                                                                           060923     122000
122100                                                                                                           060923     122100
122200  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   060923     122200
122300  *  http_parse_xml_stmf(): Parse XML data directly from a stream file                                     060923     122300
122400  *                         (instead of downloading it from a server)                                      060923     122400
122500  *                                                                                                        060923     122500
122600  *      peFile = (input) Stream file (in IFS) to read data from                                           060923     122600
122700  *     peCCSID = (input) CCSID of stream file,                                                            060923     122700
122800  *                    or HTTP_XML_CALC to attempt to calculate it                                         060923     122800
122900  *                       from the XML encoding                                                            060923     122900
123000  *                    or HTTP_STMF_CALC to use the stream file's                                          060923     123000
123100  *                       CCSID attribute.                                                                 060923     123100
123200  * peStartProc = (input) call-back procedure to call at the start                                         060923     123200
123300  *                       of each XML element received.                                                    060923     123300
123400  *   peEndProc = (input) call-back procedure to call at the end                                           060923     123400
123500  *                       of each XML element received.                                                    060923     123500
123600  *    peUsrDta = (input) user-defined data that will be passed                                            060923     123600
123700  *                          to the call-back routine                                                      060923     123700
123800  *                                                                                                        060923     123800
123900  *  Returns  -1 upon failure, 0 upon success                                                              070202     123900
124000  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                   060923     124000
124100 P http_parse_xml_stmf...                                                                                  060923     124100
124200 P                 B                   export                                                              060923     124200
124300 D http_parse_xml_stmf...                                                                                  060923     124300
124400 D                 PI            10I 0                                                                     060923     124400
124500 D  peFile                    32767A   varying const options(*varsize)                                     060923     124500
124600 D  peCCSID                      10I 0 value                                                               060923     124600
124700 D  peStartProc                    *   value procptr                                                       060923     124700
124800 D  peEndProc                      *   value procptr                                                       060923     124800
124900 D  peUsrDta                       *   value                                                               060923     124900
125000                                                                                                           060923     125000
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     26
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
125100 D wwFD            S             10I 0                                                                     060923     125100
125200 D wwRC            S             10I 0                                                                     060923     125200
125300 D wwLen           S             10I 0                                                                     060923     125300
125400 D wwBuf           S           8192a                                                                       060923     125400
125500 D wwXBuf          s           8192a   based(p_Buf)                                                        060923     125500
125600 D wwEncoding      s            100C                                                                       060923     125600
125700 D wwManual        s              1N   inz(*OFF)                                                           060923     125700
125800                                                                                                           060923     125800
125900  /free                                                                                                    060923     125900
126000                                                                                                           060923     126000
126100   // *********************************************************                                            060923     126100
126200   // * open file to be parsed                                                                             060923     126200
126300   // *********************************************************                                            060923     126300
126400                                                                                                           060923     126400
126500     select;                                                                                     B01       060923     126500
126600     when peCCSID = HTTP_XML_CALC;                                                               X01       060923     126600
126700        wwEncoding = *blanks;                                                                     01       060923     126700
126800        wwFD = open(peFile : O_RDONLY );                                                          01       060923     126800
126900     when peCCSID = HTTP_STMF_CALC;                                                              X01       060923     126900
127000        wwEncoding = XML_ENC_UTF8;                                                                01       060923     127000
127100        wwFD = open(peFile                                                                        01       070202     127100
127200                   : O_RDONLY + O_TEXTDATA                                                        01       070202     127200
127300                   : 0                                                                            01       070202     127300
127400                   : 1208 );                                                                      01       070202     127400
127500     other;                                                                                      X01       060923     127500
127600        HTTP_xml_SetCCSIDs(peCCSID: 1208);                                                        01       060923     127600
127700        wwFD = open(peFile : O_RDONLY);                                                           01       060923     127700
127800        wwEncoding = XML_ENC_UTF8;                                                                01       060923     127800
127900        wwManual = *ON;                                                                           01       060923     127900
128000     endsl;                                                                                      E01       060923     128000
128100                                                                                                           060923     128100
128200     if ( wwFD < 0 );                                                                            B01       060923     128200
128300        SetError(HTTP_FDOPEN                                                                      01       060923     128300
128400                : 'open(): ' + %str(strerror(errno)));                                            01       060923     128400
128500        return -1;                                                                                01       060923     128500
128600     endif;                                                                                      E01       060923     128600
128700                                                                                                           060923     128700
128800                                                                                                           060923     128800
128900   // *********************************************************                                            060923     128900
129000   //  Initialize the XML parser & our own data                                                            060923     129000
129100   // *********************************************************                                            060923     129100
129200                                                                                                           060923     129200
129300     wkElemRoot = *ALLx'00';                                                                               060923     129300
129400     wkElemRoot.userdata = peUsrDta;                                                                       060923     129400
129500     wkElemRoot.startcb = peStartProc;                                                                     060923     129500
129600     wkElemRoot.endcb = peEndProc;                                                                         060923     129600
129700     %len(wkElemRoot.buf) = 0;                                                                             060923     129700
129800                                                                                                           060923     129800
129900     wkParser = InitParser(wkElemRoot: wwEncoding);                                                        060923     129900
130000                                                                                                           060923     130000
130100                                                                                                           060923     130100
130200   // *********************************************************                                            060923     130200
130300   //  Read the stream file data and pass it to the parser                                                 060923     130300
130400   // *********************************************************                                            060923     130400
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     27
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
130500                                                                                                           060923     130500
130600     wwRC = 0;                                                                                             060923     130600
130700     dow '1';                                                                                    B01       060923     130700
130800         wwLen = read(wwFD: %addr(wwBuf): %size(wwBuf));                                          01       060923     130800
130900         if (wwLen < 1) ;                                                                        B02       060923     130900
131000             leave;                                                                               02       060923     131000
131100         endif;                                                                                  E02       060923     131100
131200                                                                                                           060923     131200
131300         if (wwManual);                                                                          B02       060923     131300
131400             wwLen = xml_xlate( wwLen: %addr(wwBuf): p_buf );                                     02       060923     131400
131500             wwLen = parsexml(0: wwXBuf: wwLen);                                                  02       070202     131500
131600             xdealloc(p_Buf);                                                                     02       070125     131600
131700         else;                                                                                   X02       060923     131700
131800             wwLen = parsexml(0: wwBuf: wwLen);                                                   02       070202     131800
131900         endif;                                                                                  E02       060923     131900
132000                                                                                                           060923     132000
132100         if (wwLen < 0);                                                                         B02       070202     132100
132200             leave;                                                                               02       060923     132200
132300         endif;                                                                                  E02       060923     132300
132400     enddo;                                                                                      E01       060923     132400
132500                                                                                                           060923     132500
132600     callp close(wwFD);                                                                                    060923     132600
132700                                                                                                           060923     132700
132800     if (wkElemRoot.errcode = 0);                                                                B01       060923     132800
132900        ParseXML(0: wwBuf: 0);                                                                    01       060923     132900
133000     endif;                                                                                      E01       060923     133000
133100                                                                                                           060923     133100
133200                                                                                                           060923     133200
133300   // *********************************************************                                            060923     133300
133400   //   Check for error.                                                                                   060923     133400
133500   // *********************************************************                                            060923     133500
133600                                                                                                           060923     133600
133700     if (wkElemRoot.errcode > 0);                                                                B01       060923     133700
133800        SetError(HTTP_XMLERR: 'XML parse failed at line '                                         01       060923     133800
133900               + %char(wkElemRoot.line) + ', col '                                                01       060923     133900
134000                + %char(wkElemRoot.column) + ': '                                                 01       060923     134000
134100                + %str(XML_ErrorString(wkElemRoot.errcode)));                                     01       060923     134100
134200        %len(wkElemRoot.buf) = 0;                                                                 01       060923     134200
134300        wwRC = -1;                                                                                01       060923     134300
134400     endif;                                                                                      E01       060923     134400
134500                                                                                                           060923     134500
134600   // *********************************************************                                            060923     134600
134700   //  All done§                                                                                           060923     134700
134800   // *********************************************************                                            060923     134800
134900                                                                                                           060923     134900
135000     close_iconv(wkElemRoot.xlate);                                                                        070816     135000
135100     XML_ParserFree(wkParser);                                                                             060923     135100
135200     return wwRC;                                                                                          060923     135200
135300                                                                                                           060923     135300
135400  /end-free                                                                                                060923     135400
135500 P                 E                                                                                       060923     135500
135600                                                                                                           070329     135600
135700                                                                                                           070329     135700
135800  *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329     135800
135900  * http_xmlns():  Enable XML Namespace processing                                                         070329     135900
136000  *                                                                                                        070329     136000
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     28
Numéro <---------------------- Spécifications source-----------------------------><-- Commentaires --> N°  Page  Date   ID  Numéro
Numéro ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 N°  Lign  modif  SrceNuméro
136100  *     peEnable = (input) *ON to enable parsing, *OFF to disable.                                         070329     136100
136200  *                        (it is disabled by default)                                                     070329     136200
136300  *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070329     136300
136400 P http_xmlns      B                   export                                                              070329     136400
136500 D http_xmlns      PI                                                                                      070329     136500
136600 D   peEnable                     1N   const                                                               070329     136600
136700  /free                                                                                                    070329     136700
136800     if (peEnable=*On or peEnable=*OFF);                                                         B01       070329     136800
136900        wkNamespace = peEnable;                                                                   01       070329     136900
137000     endif;                                                                                      E01       070329     137000
137100  /end-free                                                                                                070329     137100
137200 P                 E                                                                                       070329     137200
137300                                                                                                           070816     137300
137400                                                                                                           070816     137400
137500  *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816     137500
137600  * http_XmlReturnPtr(): XML End Element Handler should return a                                           070816     137600
137700  *                      pointer to the full element value instead of                                      070816     137700
137800  *                      returning a VARYING character string.                                             070816     137800
137900  *                      (VARYING is limited to 64k)                                                       070816     137900
138000  *                                                                                                        070816     138000
138100  *     peEnable = (input) *ON to return a pointer, *OFF to return                                         070816     138100
138200  *                        a VARYING string (*OFF = default)                                               070816     138200
138300  *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +                                  070816     138300
138400 P http_XmlReturnPtr...                                                                                    070816     138400
138500 P                 B                   export                                                              070816     138500
138600 D http_XmlReturnPtr...                                                                                    070816     138600
138700 D                 PI                                                                                      070816     138700
138800 D   peEnable                     1N   const                                                               070816     138800
138900  /free                                                                                                    070816     138900
139000     if (peEnable=*On or peEnable=*OFF);                                                         B01       070816     139000
139100        wkRetFull = peEnable;                                                                     01       070816     139100
139200     endif;                                                                                      E01       070816     139200
139300  /end-free                                                                                                070816     139300
139400 P                 E                                                                                       070816     139400
139500                                                                                                           040805     139500
139600  /define ERRNO_LOAD_PROCEDURE                                                                             040805     139600
139700  /copy qrpglesrc,errno_h                                                                                  060323     139700
            LINES EXCLUDED: 0
       * * * * *   F I N   D E   S O U R C E   * * * * *
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     29
M e s s a g e s    d e    d i a g n o s t i c    s u p p l é m e n t a i r e s
 ID msg  Gr   Instruct     Texte message
*RNF5409 00        019600  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        030700  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        045500  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        045800  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        055600  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        056900  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        066500  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        067800  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        077000  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        078300  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        127600  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        132600  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
*RNF5409 00        132900  L'appel prototype renvoie une valeur perdue lors de
                           l'utilisation de CALLP.
* * * * *  F I N    D E S    M E S S A G E S    D E    D I A G N O S T I C    S U P P L E M E N T A I R E S  * * * * *
                            M e m b r e s  / C O P Y
Numéro ID   Nom RPG    <-------- Nom externe   -------> CCSID  <- Dern modif  ->
Numéro Srce            Biblio     Fichier    Membre            Date     Heure
    004300    1 HTTPAPI_H  LIBHTTP    QRPGLESRC  HTTPAPI_H     37  27/08/07 23:02:54
   1003700    2 CONFIG_H   LIBHTTP    QRPGLESRC  CONFIG_H      37  27/08/07 23:02:53
    004400    3 PRIVATE_H  LIBHTTP    QRPGLESRC  PRIVATE_H     37  16/08/07 13:25:55
    004500    4 EXPAT_H    LIBHTTP    QRPGLESRC  EXPAT_H       37  27/08/07 13:35:33
    004600    5 IFSIO_H    LIBHTTP    QRPGLESRC  IFSIO_H       37  31/01/07 00:27:29
    004700    6 ERRNO_H    LIBHTTP    QRPGLESRC  ERRNO_H       37  31/01/07 00:26:24
    139700    7 ERRNO_H    LIBHTTP    QRPGLESRC  ERRNO_H       37  31/01/07 00:26:24
       * * * * *   F I N   D E S   M E M B R E S   /   C O P Y   * * * * *
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     30
                        R é f é r e n c e s   c r o i s é e s
      Références de fichier et d'enregistrement :
         Fichier           Unité              Références (D=Défini)
           Enreg
         Aucune référence dans le source.
      Références de zone globales :
         Zone              Attributs          Références (D=Défini M=Modifié)
         à__ERRNO          *(16)                 6031800D    7034000
                           PROTOTYPE
*RNF7031 ACCESS            I(10,0)               5031300D
                           PROTOTYPE
*RNF7031 ACTIME            I(10,0)               5026500D
*RNF7031 ATOI              I(10,0)               3009200D
                           PROTOTYPE
*RNF7031 ATOLL             I(20,0)               3009500D
                           PROTOTYPE
*RNF7031 BASE64_ENCODE     I(10,0)               3000900D
                           PROTOTYPE
*RNF7031 BASE64_INIT       PROTOTYPE             3000600D
         CHARDATA          PROTOTYPE              005700D     086200      098700      098800
*RNF7031 CHDIR             I(10,0)               5032200D
                           PROTOTYPE
*RNF7031 CHMOD             I(10,0)               5033000D
                           PROTOTYPE
*RNF7031 CHOWN             I(10,0)               5033900D
                           PROTOTYPE
         CHUNKSIZE         CONST                  010200D     092500      092600      100200
         CLOSE             I(10,0)               5035800D     045500      132600
                           PROTOTYPE
         CLOSE_ICONV       PROTOTYPE             3013200D     020700M     031900M     047000M
                                                  135000M
*RNF7031 CLOSEDIR          I(10,0)               5036800D
                           PROTOTYPE
*RNF7031 CLOSEF            I(10,0)               5035400D
                           PROTOTYPE
*RNF7031 COMMTCP_CONNECTBLOCKING...
                           I(10,0)               3006500D
                           PROTOTYPE
*RNF7031 COMMTCP_CONNECTNONBLOCK...
                           I(10,0)               3007000D
                           PROTOTYPE
*RNF7031 COMMTCP_FD_ISSET  N(1)                  3008000D
                           PROTOTYPE
*RNF7031 COMMTCP_FD_SET    PROTOTYPE             3007500D
*RNF7031 COMMTCP_FD_ZERO   PROTOTYPE             3008500D
*RNF7031 CONVERT           *(16) PROCPTR         4012500D
         COPYATTRS         *(16)                  007000D     095800      112900      113000
                           PROTOTYPE
         CP_ASCII          CONST                 5006700D
         CP_DOSASCII       CONST                 5006600D
*RNF7031 CREAT             I(10,0)               5037600D
                           PROTOTYPE
*RNF7031 D_FILENO          U(10,0)               5029300D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     31
*RNF7031 D_NAME            A(640)                5030300D
*RNF7031 D_NAMELEN         U(10,0)               5030200D
*RNF7031 D_NLSINFO         A(12)                 5029700D    5029800     5029900     5030000
                                                 5030100
*RNF7031 D_RECLEN          U(10,0)               5029400D
*RNF7031 D_RESERV1         A(16)                 5029100D
*RNF7031 D_RESERV2         U(10,0)               5029200D
*RNF7031 D_RESERV3         I(10,0)               5029500D
*RNF7031 D_RESERV4         A(8)                  5029600D
*RNF7031 DATA              *(16)                 4012400D
*RNF7031 DEBUG_CLOSE       PROTOTYPE             3003800D
*RNF7031 DEBUG_MSG         PROTOTYPE             3003500D
*RNF7031 DEBUG_SETPROC     PROTOTYPE             3002700D
*RNF7031 DEBUG_WRITE       PROTOTYPE             3003100D
*RNF7031 DIRENT            DS(696)               5029000D
                           BASED(P_DIRENT)
*RNF7031 DUP               I(10,0)               5038500D
                           PROTOTYPE
*RNF7031 DUP2              I(10,0)               5039300D
                           PROTOTYPE
         EACCES            CONST                 6011100D
         EADDRINUSE        CONST                 6013300D
         EADDRNOTAVAIL     CONST                 6013500D
         EAFNOSUPPORT      CONST                 6013700D
         EAGAIN            CONST                 6012100D
         EALREADY          CONST                 6013900D
         EBADDATA          CONST                 6008800D
         EBADF             CONST                 6019500D
         EBADFID           CONST                 6026500D
         EBADFUNC          CONST                 6008400D
         EBADKEYLN         CONST                 6009800D
         EBADMODE          CONST                 6007400D
         EBADNAME          CONST                 6007200D
         EBADOPT           CONST                 6009000D
         EBADPOS           CONST                 6007600D
         EBADSEEK          CONST                 6007000D
         EBUSY             CONST                 6030900D
         ECHILD            CONST                 6027300D
         ECLOSED           CONST                 6013100D
         ECONNABORTED      CONST                 6014100D
         ECONNREFUSED      CONST                 6014300D
         ECONNRESET        CONST                 6014500D
         ECONVERT          CONST                 6024100D
         EDAMAGE           CONST                 6022900D
         EDATALINK         CONST                 6029700D
         EDEADLK           CONST                 6020500D
         EDESTADDRREQ      CONST                 6014700D
         EDESTROYED        CONST                 6021100D
         EDOM              CONST                 6005000D
         EEXIST            CONST                 6020300D
         EFAULT            CONST                 6012500D
         EFBIG             CONST                 6025700D
         EFILECVT          CONST                 6026300D
         EGETANDPUT        CONST                 6010200D
         EHOSTDOWN         CONST                 6014900D
         EHOSTUNREACH      CONST                 6015100D
         EIDRM             CONST                 6025900D
         EILSEQ            CONST                 6024500D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     32
         EINPROGRESS       CONST                 6015300D
         EINTR             CONST                 6012300D
         EINVAL            CONST                 6030300D
         EIO               CONST                 6030500D
         EIOERROR          CONST                 6010400D
         EIORECERR         CONST                 6010600D
         EISCONN           CONST                 6015500D
         EISDIR            CONST                 6022100D
         EITERBAD          CONST                 6022700D
         EJOURNALED        CONST                 6029300D
         EJRNDAMAGE        CONST                 6028100D
         EJRNENTTOOLONG    CONST                 6029500D
         EJRNINACTIVE      CONST                 6028300D
         EJRNRCVSPC        CONST                 6028500D
         EJRNRMT           CONST                 6028700D
*RNF7031 ELEMENT           DS(10304)              009300D     088000      088400
                           BASED(P_ELEMENT)
           .ALLOCSIZE      I(10,0)                009900D     100100      100200M     100200
                                                  100400
           .ATTRS          *(16)                  010000D     106700      111400
           .NAME           A(1024)                009600D     109500      110300
                           VARYING
           .NS             A(1024)                009500D     109400
                           VARYING
           .PATH           A(8192)                009400D     109600      110400
                           VARYING
           .SIZE           I(10,0)                009800D     100000      100700      101800M
                                                  101800      107100      107500
           .VALUE          *(16)                  009700D     100300M     100300      100700
                                                  107600      111500
*RNF7031 ELEMROOT          DS(16516)              005000      005400      005800      006200
                                                  007100      007800D     010500      083400
                                                  087500      098900      102800      113100
*RNF7031   .BUF            A(8192)                008400D
                           VARYING
*RNF7031   .COLUMN         I(10,0)                008700D
*RNF7031   .DEPTH          I(10,0)                007900D
*RNF7031   .ENDCB          *(16) PROCPTR          008100D
*RNF7031   .ENTRY(512)     *(16)                  008300D
*RNF7031   .ERRCODE        I(10,0)                008500D
*RNF7031   .LINE           I(10,0)                008600D
*RNF7031   .NAMESPACE      N(1)                   008800D
*RNF7031   .NSCHAR         A(1)                   008900D
*RNF7031   .STARTCB        *(16) PROCPTR          008000D
*RNF7031   .USERDATA       *(16)                  008200D
*RNF7031   .XLATE          A(52)                  009000D
         ELOCKED           CONST                 6025500D
         ELOOP             CONST                 6023100D
         EMFILE            CONST                 6019700D
         EMLINK            CONST                 6021500D
         EMSGSIZE          CONST                 6015700D
         ENAMETOOLONG      CONST                 6023300D
         ENDELEMENT        PROTOTYPE              006100D     085900      102600      102700
         ENETDOWN          CONST                 6015900D
         ENETRESET         CONST                 6016100D
         ENETUNREACH       CONST                 6016300D
         ENEWJRN           CONST                 6029100D
         ENEWJRNRCV        CONST                 6028900D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     33
         ENFILE            CONST                 6019900D
         ENOBUFS           CONST                 6016500D
         ENODEV            CONST                 6030700D
         ENOENT            CONST                 6031100D
         ENOLCK            CONST                 6023500D
         ENOMEM            CONST                 6020700D
         ENOMSG            CONST                 6026100D
         ENOPOS            CONST                 6007800D
         ENOPROTOOPT       CONST                 6016700D
         ENOREC            CONST                 6008600D
         ENOSPC            CONST                 6011500D
         ENOSYS            CONST                 6021900D
         ENOSYSRSC         CONST                 6023900D
         ENOTCONN          CONST                 6016900D
         ENOTDIR           CONST                 6011300D
         ENOTDLT           CONST                 6009400D
         ENOTEMPTY         CONST                 6023700D
         ENOTENROLL        CONST                 6024900D
         ENOTOPEN          CONST                 6005600D
         ENOTREAD          CONST                 6005800D
         ENOTSAFE          CONST                 6027700D
         ENOTSIGINIT       CONST                 6027100D
         ENOTSOCK          CONST                 6017100D
         ENOTSUP           CONST                 6017300D
         ENOTUPD           CONST                 6009200D
         ENOTWRITE         CONST                 6006200D
         ENUMMBRS          CONST                 6008000D
         ENUMRECS          CONST                 6008200D
         ENXIO             CONST                 6012900D
         EOFFLINE          CONST                 6025100D
         EOPNOTSUPP        CONST                 6017500D
         EOVERFLOW         CONST                 6027900D
         EOWNERTERM        CONST                 6020900D
         EPAD              CONST                 6009600D
         EPERM             CONST                 6031300D
         EPFNOSUPPORT      CONST                 6017700D
         EPIPE             CONST                 6020100D
         EPROTONOSUPPORT   CONST                 6018000D
         EPROTOTYPE        CONST                 6018200D
         EPUTANDGET        CONST                 6010000D
         ERANGE            CONST                 6005200D
         ERCVDERR          CONST                 6018400D
         ERECIO            CONST                 6006000D
         EROFS             CONST                 6022300D
         EROOBJ            CONST                 6025300D
         ERRNO             I(10,0)               6032700D     037600      038300      128400
                           PROTOTYPE             7033600     7033700
         ESHUTDOWN         CONST                 6018600D
         ESOCKTNOSUPPORT   CONST                 6018900D
         ESOFTDAMAGE       CONST                 6024700D
         ESPIPE            CONST                 6021700D
         ESRCH             CONST                 6026900D
         ESTALE            CONST                 6026700D
         ESTDERR           CONST                 6006800D
         ESTDIN            CONST                 6006400D
         ESTDOUT           CONST                 6006600D
         ETERM             CONST                 6021300D
         ETIME             CONST                 6012700D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     34
         ETIMEDOUT         CONST                 6019100D
         ETOOMANYREFS      CONST                 6027500D
         ETRUNC            CONST                 6005400D
         EUNATCH           CONST                 6019300D
         EUNKNOWN          CONST                 6022500D
         EWOULDBLOCK       CONST                 6011900D
         EXDEV             CONST                 6011700D
         E2BIG             CONST                 6024300D
         F_OK              CONST                 5012900D
*RNF7031 FCHMOD            I(10,0)               5040200D
                           PROTOTYPE
*RNF7031 FCHOWN            I(10,0)               5041100D
                           PROTOTYPE
*RNF7031 FCNTL             I(10,0)               5042200D
                           PROTOTYPE
*RNF7031 FDSET             A(28)                 3008800D
                           BASED(TEMPLATE)
*RNF7031 FILE_CCSID        I(10,0)               3005500D
                           PROTOTYPE
*RNF7031 FPATHCONF         I(10,0)               5043400D
                           PROTOTYPE
         FREEATTRS         PROTOTYPE              007300D     111400M     119800      119900
*RNF7031 FSTAT             I(10,0)               5044300D
                           PROTOTYPE
*RNF7031 FSYNC             I(10,0)               5045200D
                           PROTOTYPE
*RNF7031 FTRUNCATE         I(10,0)               5046000D
                           PROTOTYPE
*RNF7031 GETCWD            *(16)                 5046900D
                           PROTOTYPE
*RNF7031 GETEGID           U(10,0)               5047800D
                           PROTOTYPE
*RNF7031 GETEUID           U(10,0)               5048500D
                           PROTOTYPE
*RNF7031 GETGID            U(10,0)               5049200D
                           PROTOTYPE
*RNF7031 GETGRID           *(16)                 5049900D
                           PROTOTYPE
*RNF7031 GETGRNAM          *(16)                 5050700D
                           PROTOTYPE
*RNF7031 GETGROUPS         *(16)                 5051500D
                           PROTOTYPE
*RNF7031 GETPATHFID        *(16)                 5063100D
                           PROTOTYPE
*RNF7031 GETPWNAM          *(16)                 5052800D
                           PROTOTYPE
*RNF7031 GETPWUID          *(16)                 5054000D
                           PROTOTYPE
*RNF7031 GETUID            U(10,0)               5054800D
                           PROTOTYPE
*RNF7031 GR_GID            U(10,0)               5022600D
*RNF7031 GR_MEM(256)       *(16)                 5022700D
*RNF7031 GR_NAME           *(16)                 5022500D
*RNF7031 GROUP             DS(4128)              5022400D
                           BASED(P_GROUP)
         HTTP_ACCES        CONST                 1152400D
         HTTP_ASCII        CONST                 2006500D
         HTTP_ATHTYP       CONST                 1155600D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     35
         HTTP_ATHVAL       CONST                 1155800D
         HTTP_AUTH_BASIC   CONST                 1164200D
         HTTP_AUTH_MD5_DIGEST...
                           CONST                 1164400D
         HTTP_AUTH_NONE    CONST                 1164000D
         HTTP_BADCHK       CONST                 1151800D
         HTTP_BADCNN       CONST                 1149100D
         HTTP_BADPNT       CONST                 1157700D
         HTTP_BADURL       CONST                 1148100D
         HTTP_BRRECV       CONST                 1157100D
         HTTP_BRSELE       CONST                 1157300D
         HTTP_BRTIME       CONST                 1156900D
*RNF7031 HTTP_BUILD_SOCKADDR...
                           I(10,0)               1023400D
                           PROTOTYPE
         HTTP_BWSELE       CONST                 1159500D
         HTTP_BWSEND       CONST                 1159300D
         HTTP_BWTIME       CONST                 1159700D
         HTTP_BWTIMO       CONST                 1160900D
         HTTP_CCSID        CONST                 2007800D
         HTTP_CHKSIZ       CONST                 1152000D
         HTTP_CKDUMP       CONST                 1162300D
         HTTP_CKOPEN       CONST                 1162500D
         HTTP_CKSTAT       CONST                 1162700D
*RNF7031 HTTP_CLOSE        I(10,0)               1024800D
                           PROTOTYPE
         HTTP_CNNTIMO      CONST                 1149300D
*RNF7031 HTTP_COMP         PROTOTYPE             1142500D
         HTTP_CONTTYPE     CONST                 2004400D
         HTTP_CONVERR      CONST                 1162900D
         HTTP_COOKIE_DEFAULT...
                           CONST                 2010800D
*RNF7031 HTTP_COOKIE_FILE  PROTOTYPE             1141600D
*RNF7031 HTTP_CRASH        PROTOTYPE             1144200D
         HTTP_CSSELE       CONST                 1155000D
*RNF7031 HTTP_DEBUG        PROTOTYPE             1119500D
*RNF7031 HTTP_DEBUG_FILE   A(500)                2011400D
                           VARYING
*RNF7031 HTTP_DIAG         PROTOTYPE             1143400D
         HTTP_EBCDIC       CONST                 2006400D
*RNF7031 HTTP_ERROR        A(80)                 1026000D
                           PROTOTYPE
         HTTP_FDOPEN       CONST                 1152600D     038200      128300
         HTTP_FDSTAT       CONST                 1161300D     037500
*RNF7031 HTTP_GET          I(10,0)               1006900D
                           PROTOTYPE
*RNF7031 HTTP_GET_XML      I(10,0)               1073900D
                           PROTOTYPE
*RNF7031 HTTP_GET_XMLTF    I(10,0)               1077800D     049400      049700
                           PROTOTYPE
*RNF7031 HTTP_GETAUTH      I(10,0)               1033700D
                           PROTOTYPE
         HTTP_GSKAPPID     CONST                 1152800D
         HTTP_GSKATYP      CONST                 1153000D
         HTTP_GSKENVI      CONST                 1153200D
         HTTP_GSKENVO      CONST                 1153400D
         HTTP_GSKKEYF      CONST                 1161900D
         HTTP_GSKSTYP      CONST                 1153600D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     36
*RNF7031 HTTP_HEADER       A(32500)              1138500D
                           VARYING
                           PROTOTYPE
         HTTP_HOSTNF       CONST                 1148300D
         HTTP_IFOPEN       CONST                 1161700D
         HTTP_IFSMODE      CONST                 2009300D
         HTTP_INVPTR       CONST                 1158900D
*RNF7031 HTTP_LONG_PARSEURL...
                           I(10,0)               1060300D
                           PROTOTYPE
         HTTP_LRRECV       CONST                 1159900D
         HTTP_LRSELE       CONST                 1160100D
         HTTP_LRTIME       CONST                 1160300D
*RNF7031 HTTP_MFD_ENCODER_ADDSTMF...
                           N(1)                  1116800D
                           PROTOTYPE
*RNF7031 HTTP_MFD_ENCODER_ADDVAR...
                           N(1)                  1113100D
                           PROTOTYPE
*RNF7031 HTTP_MFD_ENCODER_ADDVAR_S...
                           N(1)                  1114900D
                           PROTOTYPE
*RNF7031 HTTP_MFD_ENCODER_CLOSE...
                           PROTOTYPE             1118200D
*RNF7031 HTTP_MFD_ENCODER_OPEN...
                           *(16)                 1111300D
                           PROTOTYPE
         HTTP_MUTABLE      CONST                 1162100D
         HTTP_NDAUTH       CONST                 1155400D
         HTTP_NOAUTH       CONST                 1156000D
         HTTP_NOCDRIV      CONST                 1160700D
         HTTP_NODATA       CONST                 1158700D
         HTTP_NOMEM        CONST                 1158500D
         HTTP_NONBLK       CONST                 1148900D
         HTTP_NOSPAC       CONST                 1159100D
         HTTP_NOTREG       CONST                 1155200D
         HTTP_NOTSUPP      CONST                 1160500D
         HTTP_PARSE_XML_STMF...
                           I(10,0)               1136500D     056400      067300      077800
                           PROTOTYPE              124100      124400
*RNF7031 HTTP_PARSEURL     I(10,0)               1021100D
                           PROTOTYPE
*RNF7031 HTTP_PERSIST_CLOSE...
                           I(10,0)               1109000D
                           PROTOTYPE
*RNF7031 HTTP_PERSIST_GET  I(10,0)               1101600D
                           PROTOTYPE
*RNF7031 HTTP_PERSIST_OPEN *(16)                 1098400D
                           PROTOTYPE
*RNF7031 HTTP_PERSIST_POST I(10,0)               1106700D
                           PROTOTYPE
         HTTP_POINT_ADDL_HEADER...
                           CONST                 1169400D
         HTTP_POINT_DEBUG  CONST                 1165900D
         HTTP_POINT_DOWNLOAD_STATUS...
                           CONST                 1168300D
         HTTP_POINT_PARSE_HDR_LONG...
                           CONST                 1171400D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     37
         HTTP_POINT_PARSE_HEADER...
                           CONST                 1170400D
         HTTP_POINT_UPLOAD_STATUS...
                           CONST                 1167100D
*RNF7031 HTTP_POST         I(10,0)               1010900D
                           PROTOTYPE
*RNF7031 HTTP_POST_STMF    I(10,0)               1068800D
                           PROTOTYPE
*RNF7031 HTTP_POST_STMF_XML...
                           I(10,0)               1091700D
                           PROTOTYPE
*RNF7031 HTTP_POST_STMF_XMLTF...
                           I(10,0)               1096100D     070900      071200
                           PROTOTYPE
*RNF7031 HTTP_POST_XML     I(10,0)               1083300D
                           PROTOTYPE
*RNF7031 HTTP_POST_XMLTF   I(10,0)               1087700D     059900      060200
                           PROTOTYPE
*RNF7031 HTTP_PROXY_GETAUTH...
                           I(10,0)               1040800D
                           PROTOTYPE
*RNF7031 HTTP_PROXY_SETAUTH...
                           I(10,0)               1038300D
                           PROTOTYPE
         HTTP_PST417       CONST                 1156300D
         HTTP_PXNDAUTH     CONST                 1163300D
         HTTP_RDCRLF       CONST                 1157500D
         HTTP_RDRECV       CONST                 1150900D
         HTTP_RDSELE       CONST                 1151100D
         HTTP_RDTIME       CONST                 1156700D
         HTTP_RDWERR       CONST                 1151400D
*RNF7031 HTTP_REDIR_LOC    A(1024)               1043900D
                           VARYING
                           PROTOTYPE
         HTTP_REGERR       CONST                 1153800D
         HTTP_RESP         CONST                 1150700D
         HTTP_RRRECV       CONST                 1150300D
         HTTP_RRSELE       CONST                 1150500D
         HTTP_RRTIME       CONST                 1156500D
         HTTP_SAALLO       CONST                 1148500D
         HTTP_SDSELE       CONST                 1154800D
         HTTP_SDSEND       CONST                 1151600D
*RNF7031 HTTP_SELECT_COMMDRIVER...
                           *(16)                 1062100D
                           PROTOTYPE
*RNF7031 HTTP_SET_100_TIMEOUT...
                           PROTOTYPE             1132500D
         HTTP_SETATTR      CONST                 1163100D
*RNF7031 HTTP_SETAUTH      I(10,0)               1035300D
                           PROTOTYPE
*RNF7031 HTTP_SETCCSIDS    I(10,0)               1121100D
                           PROTOTYPE
*RNF7031 HTTP_SETFILECCSID PROTOTYPE             1125000D
*RNF7031 HTTP_SETPROXY     I(10,0)               1036700D
                           PROTOTYPE
*RNF7031 HTTP_SETTABLES    I(10,0)               1122700D
                           PROTOTYPE
         HTTP_SOCERR       CONST                 1148700D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     38
         HTTP_SRSELE       CONST                 1149700D
         HTTP_SRXLATE      CONST                 1149500D
         HTTP_SRXMIT       CONST                 1150000D
         HTTP_SSOPEN       CONST                 1154000D
         HTTP_SSPROT       CONST                 1157900D
         HTTP_SSPSET       CONST                 1158300D
         HTTP_SSPUNK       CONST                 1158100D
         HTTP_SSSNFD       CONST                 1154200D
         HTTP_SSSNTO       CONST                 1154400D
         HTTP_SSTIMO       CONST                 1154600D
         HTTP_STMF_CALC    CONST                 1137300D     126900
         HTTP_SWCERR       CONST                 1161100D
         HTTP_TEMPFILE     A(40)                 1145000D     051700      062400      073400
                           VARYING
                           PROTOTYPE
         HTTP_TIMEOUT      CONST                 2003100D
*RNF7031 HTTP_URL_ENCODER  *(16)                 1045100D    1045300     1047700     1050100
                                                 1052700     1055300     1057300
*RNF7031 HTTP_URL_ENCODER_ADDVAR...
                           N(1)                  1047600D
                           PROTOTYPE
*RNF7031 HTTP_URL_ENCODER_ADDVAR_S...
                           N(1)                  1057200D
                           PROTOTYPE
*RNF7031 HTTP_URL_ENCODER_FREE...
                           N(1)                  1055200D
                           PROTOTYPE
*RNF7031 HTTP_URL_ENCODER_GETPTR...
                           PROTOTYPE             1050000D
*RNF7031 HTTP_URL_ENCODER_GETSTR...
                           A(32767)              1052600D
                           VARYING
                           PROTOTYPE
*RNF7031 HTTP_URL_ENCODER_NEW...
                           *(16)                 1045300D
                           PROTOTYPE
         HTTP_URL_GET      I(10,0)               1007700D     052100      052400      052800
                           PROTOTYPE              053300      053900      054600
         HTTP_URL_GET_RAW  I(10,0)               1015000D     015500      015900      016400
                           PROTOTYPE              017000      017700      018500
*RNF7031 HTTP_URL_GET_XML  I(10,0)               1075000D     012600      012900
                           PROTOTYPE
         HTTP_URL_POST     I(10,0)               1011800D     062800      063300      063900
                           PROTOTYPE              064600      065400
         HTTP_URL_POST_RAW I(10,0)               1018200D     026500      027100      027800
                           PROTOTYPE              028600      029500
         HTTP_URL_POST_RAW2...
                           I(10,0)               1064700D     040900      041600      042400
                           PROTOTYPE              043300      044300
         HTTP_URL_POST_STMF...
                           I(10,0)               1068000D     073800      074200      074700
                           PROTOTYPE              075300      076000
*RNF7031 HTTP_URL_POST_STMF_XML...
                           I(10,0)               1092800D     034900      035200
                           PROTOTYPE
*RNF7031 HTTP_URL_POST_XML I(10,0)               1084500D     023500      023800
                           PROTOTYPE
*RNF7031 HTTP_USE_COOKIES  PROTOTYPE             1140000D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     39
         HTTP_USERAGENT    CONST                 2003700D
         HTTP_XFRENC       CONST                 1152200D
*RNF7031 HTTP_XLATE        I(10,0)               1126400D
                           PROTOTYPE
*RNF7031 HTTP_XLATEDYN     I(10,0)               1129800D
                           PROTOTYPE
*RNF7031 HTTP_XLATEP       I(10,0)               1128100D
                           PROTOTYPE
         HTTP_XML_CALC     CONST                 1137200D     056500      067400      077900
                                                  126600
         HTTP_XML_SETCCSIDS...
                           I(10,0)               1134000D     127600M
                           PROTOTYPE
         HTTP_XMLERR       CONST                 1161500D     020000      031100      046200
                                                  133800
*RNF7031 HTTP_XMLNS        PROTOTYPE             1145900D     136400      136500
*RNF7031 HTTP_XMLRETURNPTR PROTOTYPE             1147300D     138400      138700
*RNF7031 HTTP_XPROC        I(10,0)               1042700D
                           PROTOTYPE
         HTTPAPI_RELDATE   CONST                 1003500D
         HTTPAPI_VERSION   CONST                 1003300D
*RNF7031 HTTPDATE          A(29)                 3005200D
                           PROTOTYPE
*RNF7031 HTTPS_CLEANUP     I(10,0)               1031200D
                           PROTOTYPE
*RNF7031 HTTPS_DCM_REG     I(10,0)               1030100D
                           PROTOTYPE
*RNF7031 HTTPS_INIT        I(10,0)               1028100D
                           PROTOTYPE
         ICONVDYN          I(10,0)               3013500D     094100      107500      117300
                           PROTOTYPE
         INITPARSER        *(16)                  004900D     015100      026100      039700
                           PROTOTYPE              083200      083300      129900
*RNF7031 IOCTL             I(10,0)               5055500D
                           PROTOTYPE
*RNF7031 LINK              I(10,0)               5056500D
                           PROTOTYPE
*RNF7031 LSEEK             I(10,0)               5057400D
                           PROTOTYPE
*RNF7031 LSTAT             I(10,0)               5058400D
                           PROTOTYPE
*RNF7031 MAP(256)          I(10,0)               4012300D
         MAXDEPTH          CONST                  007600D     008300
*RNF7031 MD5               N(1)                  3004000D
                           PROTOTYPE
*RNF7031 MEMCPY            *(16)                 3010200D
                           PROTOTYPE
*RNF7031 MKDIR             I(10,0)               5059300D
                           PROTOTYPE
*RNF7031 MODTIME           I(10,0)               5026600D
         NEW_ICONV         A(52)                 3012800D     084200
                           PROTOTYPE
*RNF7031 NLS_CCSID         I(10,0)               5029800D
*RNF7031 NLS_CNTRY         A(2)                  5029900D
*RNF7031 NLS_LANG          A(3)                  5030000D
*RNF7031 NLS_RESERV        A(3)                  5030100D
         O_APPEND          CONST                 5008900D
         O_CCSID           CONST                 5008500D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     40
         O_CODEPAGE        CONST                 5010700D
         O_CREAT           CONST                 5008100D
         O_DSYNC           CONST                 5009300D
         O_EXCL            CONST                 5008300D
         O_INHERITMODE     CONST                 5011600D
         O_LARGEFILE       CONST                 5011900D
         O_NOCTTY          CONST                 5009700D
         O_RDONLY          CONST                 5007500D     038000      126800      127200
                                                  127700
         O_RDWR            CONST                 5007900D
         O_RSYNC           CONST                 5009500D
         O_SHARE_NONE      CONST                 5010500D
         O_SHARE_RDONLY    CONST                 5009900D
         O_SHARE_RDWR      CONST                 5010300D
         O_SHARE_WRONLY    CONST                 5010100D
         O_SYNC            CONST                 5009100D
         O_TEXT_CREAT      CONST                 5011400D
         O_TEXTDATA        CONST                 5010900D     127200
         O_TRUNC           CONST                 5008700D
         O_WRONLY          CONST                 5007700D
         OPEN              I(10,0)               5060200D     038000      126800      127100
                           PROTOTYPE              127700
*RNF7031 OPENDIR           *(16)                 5061400D
                           PROTOTYPE
         P_DIRENT          *(16)                 5028900D    5029000
         P_ELEMENT         *(16)                  009200D     009300      099800M     106300M
                                                  111700M
         P_GROUP           *(16)                 5022300D    5022400
         P_PASSWD          *(16)                 5024600D    5024700
         P_STATDS          *(16)                 5019200D    5019300
         P_UTIMBUF         *(16)                 5026300D    5026400
         PARSEXML          I(10,0)                006500D     015700      016100      016600
                           PROTOTYPE              017200      017900      018700      019600
                                                  026900      027500      028200      029000
                                                  029900      030700      041400      042100
                                                  042900      043800      044800      045800
                                                  079800      079900      131500      131800
                                                  132900M
*RNF7031 PASSWD            DS(64)                5024700D
                           BASED(P_PASSWD)
*RNF7031 PATHCONF          I(10,0)               5062200D
                           PROTOTYPE
*RNF7031 PERROR            PROTOTYPE             6032300D
*RNF7031 PW_DIR            *(16)                 5025100D
*RNF7031 PW_GID            U(10,0)               5025000D
*RNF7031 PW_NAME           *(16)                 5024800D
*RNF7031 PW_SHELL          *(16)                 5025200D
*RNF7031 PW_UID            U(10,0)               5024900D
         R_OK              CONST                 5013000D
         READ              I(10,0)               5066100D     041100      041800      042600
                           PROTOTYPE              043500      044500      130800
*RNF7031 READDIR           *(16)                 5067100D
                           PROTOTYPE
*RNF7031 READLINK          I(10,0)               5067900D
                           PROTOTYPE
*RNF7031 RELEASE           *(16) PROCPTR         4012600D
*RNF7031 RENAME            I(10,0)               5064200D
                           PROTOTYPE
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     41
*RNF7031 REPLACE           I(10,0)               5065200D
                           PROTOTYPE
*RNF7031 REWINDDIR         PROTOTYPE             5068900D
*RNF7031 RMDIR             I(10,0)               5069800D
                           PROTOTYPE
         S_IRGRP           CONST                 5015200D
         S_IROTH           CONST                 5015700D
         S_IRUSR           CONST                 5014700D
         S_IRWXG           CONST                 5015500D
         S_IRWXO           CONST                 5016000D
         S_IRWXU           CONST                 5015000D
         S_IWGRP           CONST                 5015300D
         S_IWOTH           CONST                 5015800D
         S_IWUSR           CONST                 5014800D
         S_IXGRP           CONST                 5015400D
         S_IXOTH           CONST                 5015900D
         S_IXUSR           CONST                 5014900D
         SEEK_CUR          CONST                 5016600D
         SEEK_END          CONST                 5016700D
         SEEK_SET          CONST                 5016500D
         SETERROR          PROTOTYPE             3004800D     020000M     031100M     037500M
                                                  038200M     046200M     128300M     133800M
*RNF7031 ST_ALCTIZE        U(10,0)               5020600D
*RNF7031 ST_ATIME          I(10,0)               5020100D
*RNF7031 ST_BLKSIZE        U(10,0)               5020500D
*RNF7031 ST_CODEPAG        U(5,0)                5020800D
*RNF7031 ST_CTIME          I(10,0)               5020300D
*RNF7031 ST_DEV            U(10,0)               5020400D
*RNF7031 ST_GID            U(10,0)               5019900D
*RNF7031 ST_INO            U(10,0)               5019500D
*RNF7031 ST_INO_GEN_ID     U(10,0)               5021000D
*RNF7031 ST_MODE           U(10,0)               5019400D
*RNF7031 ST_MTIME          I(10,0)               5020200D
*RNF7031 ST_NLINK          U(5,0)                5019600D
*RNF7031 ST_OBJTYPE        A(12)                 5020700D
*RNF7031 ST_PAD            A(2)                  5019700D
*RNF7031 ST_RESV11         A(62)                 5020900D
*RNF7031 ST_SIZE           I(10,0)               5020000D
*RNF7031 ST_UID            U(10,0)               5019800D
         STARTELEMENT      PROTOTYPE              005300D     085800      087300      087400
         STAT              I(10,0)               5070600D     037400
                           PROTOTYPE
*RNF7031 STATDS            DS(128)               5019300D     036300
                           BASED(P_STATDS)
         STRERROR          *(16)                 6032000D     037600      038300      128400
                           PROTOTYPE
*RNF7031 SYMLINK           I(10,0)               5071500D
                           PROTOTYPE
*RNF7031 SYSCONF           I(10,0)               5072400D
                           PROTOTYPE
         TEMPLATE          *(16)                 3008800     4008100     4012200
         TO_ASCII          CONST                 1172000D
         TO_EBCDIC         CONST                 1172100D
*RNF7031 TS_FREE           PROTOTYPE             3011700D
*RNF7031 TS_MALLOC         *(16)                 3011100D
                           PROTOTYPE
*RNF7031 TS_REALLOC        *(16)                 3011400D
                           PROTOTYPE
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     42
*RNF7031 UMASK             U(10,0)               5073200D
                           PROTOTYPE
         UNLINK            I(10,0)               5074200D     055600M     056900M     066500M
                           PROTOTYPE              067800M     077000M     078300M
*RNF7031 URL_ENCODE        PROTOTYPE             3002000D
*RNF7031 URL_ENCODE_PRE    I(10,0)               3001500D
                           PROTOTYPE
*RNF7031 UTIL_DIAG         N(1)                  3004500D
                           PROTOTYPE
*RNF7031 UTIMBUF           DS(8)                 5026400D
                           BASED(P_UTIMBUF)
*RNF7031 UTIME             I(10,0)               5075000D
                           PROTOTYPE
         W_OK              CONST                 5013100D
         WKELEMROOT        DS(16516)              010500D     014500M     015100      025500M
                                                  026100      039100M     039700      129300M
                                                  129900
           .BUF            A(8192)                010500D     014900M     025900M     031500M
                           VARYING                039500M     046600M     129700M     134200M
           .COLUMN         I(10,0)                010500D     020200      031300      046400
                                                  081900M     134000
*RNF7031   .DEPTH          I(10,0)                010500D
           .ENDCB          *(16) PROCPTR          010500D     014800M     025800M     039400M
                                                  129600M
*RNF7031   .ENTRY(512)     *(16)                  010500D
           .ERRCODE        I(10,0)                010500D     019500      019900      020300
                                                  030600      031000      031400      045700
                                                  046100      046500      081100      081700M
                                                  132800      133700      134100
           .LINE           I(10,0)                010500D     020100      031200      046300
                                                  081800M     133900
*RNF7031   .NAMESPACE      N(1)                   010500D
*RNF7031   .NSCHAR         A(1)                   010500D
           .STARTCB        *(16) PROCPTR          010500D     014700M     025700M     039300M
                                                  129500M
           .USERDATA       *(16)                  010500D     014600M     025600M     039200M
                                                  129400M
           .XLATE          A(52)                  010500D     020700      031900      047000
                                                  135000
         WKNAMESPACE       N(1)                   010600D     083900      084500      084700
                                                  136900M
         WKPARSER          *(16)                  010400D     015100M     020800      026100M
                                                  032000      039700M     047100      081500
                                                  081700      081800      081900      129900M
                                                  135100
         WKRETFULL         N(1)                   010700D     108100      139100M
*RNF7031 WRITE             I(10,0)               5075900D
                           PROTOTYPE
         X_OK              CONST                 5013200D
         XALLOC            *(16)                 3012000D     091800      092600      116000
                           PROTOTYPE
         XDEALLOC          PROTOTYPE             3012200D     111000M     111500M     111600M
                                                  121200M     121600M     131600M
         XML_ENC_ISO8859_1 CONST                 4006100D
         XML_ENC_US_ASCII  CONST                 4006400D
         XML_ENC_UTF16     CONST                 4005900D
         XML_ENC_UTF8      CONST                 4005700D     127000      127800
*RNF7031 XML_ENCODING      DS(1072)              4012200D    4034100
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     43
                           BASED(TEMPLATE)
         XML_ERRORSTRING   *(16)                 4027700D     020300      031400      046500
                           PROTOTYPE              134100
         XML_GETCURRENTCOLUMNNUMBER...
                           I(10,0)               4030200D     081900
                           PROTOTYPE
         XML_GETCURRENTLINENUMBER...
                           I(10,0)               4028900D     081800
                           PROTOTYPE
         XML_GETERRORCODE  I(10,0)               4026500D     081700
                           PROTOTYPE
         XML_PARSE         I(10,0)               4025000D     081500
                           PROTOTYPE
*RNF7031 XML_PARSER        *(16)                 4008100D    4013900     4015700     4019300
                           BASED(TEMPLATE)       4020000     4020600     4023300     4025100
                                                 4026600     4029100     4030400     4031500
                                                 4033900     4036800     4039600     4041500
                                                  004900      010400      083300      083600
         XML_PARSERCREATE  *(16)                 4013800D     084600      084800
                           PROTOTYPE
         XML_PARSERCREATENS...
                           *(16)                 4036600D     085000      085200
                           PROTOTYPE
         XML_PARSERFREE    PROTOTYPE             4031400D     020800M     032000M     047100M
                                                  135100M
         XML_SETCHARACTERDATAHANDLER...
                           PROTOTYPE             4023100D     086100M
         XML_SETELEMENTHANDLER...
                           PROTOTYPE             4019200D     085700M
*RNF7031 XML_SETENDELEMENTHANDLER...
                           PROTOTYPE             4020400D
*RNF7031 XML_SETENDNAMESPACEDECLHANDLER...
                           PROTOTYPE             4041300D
*RNF7031 XML_SETSTARTELEMENTHANDLER...
                           PROTOTYPE             4019800D
*RNF7031 XML_SETSTARTNAMESPACEDECLHANDLER...
                           PROTOTYPE             4039400D
*RNF7031 XML_SETUNKNOWNENCODINGHANDLER...
                           PROTOTYPE             4033700D
         XML_SETUSERDATA   PROTOTYPE             4015600D     085500M
         XML_STATUS_ERROR  CONST                 4005000D     081600
         XML_STATUS_OK     CONST                 4004800D
         XML_XLATE         I(10,0)               3005700D     131400
                           PROTOTYPE
         XREALLOC          *(16)                 3012400D     100300
                           PROTOTYPE
      Références de zone de sous-procédure HTTP_URL_GET_XML
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEURL             A(32767)               013000D     015500      015900      016400
                           BASED(_QRNL_PST+)      017000      017700      018500
                           VARYING
         PESTARTPROC       *(16) PROCPTR          013100D     014700
         PEENDPROC         *(16) PROCPTR          013200D     014800
         PEUSRDTA          *(16)                  013300D     014600
         PETIMEOUT         I(10,0)                013400D     016200      016700      017300
                                                  018000      018800
         PEUSERAGENT       A(64)                  013500D     016800      017400      018100
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     44
                           BASED(_QRNL_PST+)      018900
         PEMODTIME         Z(26)                  013600D     017500      018200      019000
                           BASED(_QRNL_PST+)
         PECONTENTTYPE     A(64)                  013700D     018300      019100
                           BASED(_QRNL_PST+)
         PESOAPACTION      A(64)                  013800D     019200
                           BASED(_QRNL_PST+)
         WWRC              I(10,0)                014000D     015500M     015900M     016400M
                                                  017000M     017700M     018500M     019900
                                                  020400M     021000
         WWEMPTYBUF        A(1)                   014100D     019600
         _QRNL_PSTR_PEUSERAGENT...
         _QRNL_PSTR_PEMODTIME...
         _QRNL_PSTR_PECONTENTTYPE...
         _QRNL_PSTR_PESOAPACTION...
      Références de zone de sous-procédure HTTP_URL_POST_XML
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEURL             A(32767)               023900D     026500      027100      027800
                           BASED(_QRNL_PST+)      028600      029500
                           VARYING
         PEPOSTDATA        *(16)                  024000D     026600      027200      027900
                                                  028700      029600
         PEPOSTDATALEN     I(10,0)                024100D     026700      027300      028000
                                                  028800      029700
         PESTARTPROC       *(16) PROCPTR          024200D     025700
         PEENDPROC         *(16) PROCPTR          024300D     025800
         PEUSRDTA          *(16)                  024400D     025600
         PETIMEOUT         I(10,0)                024500D     027600      028300      029100
                                                  030000
         PEUSERAGENT       A(64)                  024600D     028400      029200      030100
                           BASED(_QRNL_PST+)
         PECONTENTTYPE     A(64)                  024700D     029300      030200
                           BASED(_QRNL_PST+)
         PESOAPACTION      A(64)                  024800D     030300
                           BASED(_QRNL_PST+)
         WWRC              I(10,0)                025000D     026500M     027100M     027800M
                                                  028600M     029500M     031000      031600M
                                                  032200
         WWEMPTYBUF        A(1)                   025100D     030700
         _QRNL_PSTR_PEUSERAGENT...
         _QRNL_PSTR_PECONTENTTYPE...
         _QRNL_PSTR_PESOAPACTION...
      Références de zone de sous-procédure HTTP_URL_POST_STMF_XML
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEURL             A(32767)               035300D     040900      041600      042400
                           BASED(_QRNL_PST+)      043300      044300
                           VARYING
         PEPOSTFILE        A(32767)               035400D     037400      038000
                           BASED(_QRNL_PST+)
                           VARYING
         PESTARTPROC       *(16) PROCPTR          035500D     039300
         PEENDPROC         *(16) PROCPTR          035600D     039400
         PEUSRDTA          *(16)                  035700D     039200
         PETIMEOUT         I(10,0)                035800D     042200      043000      043900
                                                  044900
         PEUSERAGENT       A(64)                  035900D     043100      044000      045000
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     45
                           BASED(_QRNL_PST+)
         PECONTENTTYPE     A(64)                  036000D     044100      045100
                           BASED(_QRNL_PST+)
         PESOAPACTION      A(64)                  036100D     045200
                           BASED(_QRNL_PST+)
         WWSTAT            DS(128)                036300D     037400
*RNF7031   .ST_ALCTIZE     U(10,0)                036300D
*RNF7031   .ST_ATIME       I(10,0)                036300D
*RNF7031   .ST_BLKSIZE     U(10,0)                036300D
*RNF7031   .ST_CODEPAG     U(5,0)                 036300D
*RNF7031   .ST_CTIME       I(10,0)                036300D
*RNF7031   .ST_DEV         U(10,0)                036300D
*RNF7031   .ST_GID         U(10,0)                036300D
*RNF7031   .ST_INO         U(10,0)                036300D
*RNF7031   .ST_INO_GEN_ID  U(10,0)                036300D
*RNF7031   .ST_MODE        U(10,0)                036300D
*RNF7031   .ST_MTIME       I(10,0)                036300D
*RNF7031   .ST_NLINK       U(5,0)                 036300D
*RNF7031   .ST_OBJTYPE     A(12)                  036300D
*RNF7031   .ST_PAD         A(2)                   036300D
*RNF7031   .ST_RESV11      A(62)                  036300D
           .ST_SIZE        I(10,0)                041200      041900      042700      043600
                                                  044600      036300D
*RNF7031   .ST_UID         U(10,0)                036300D
         WWPOSTFD          I(10,0)                036400D     038000M     038100      041000
                                                  041700      042500      043400      044400
                                                  045500
         WWRC              I(10,0)                036500D     040900M     041600M     042400M
                                                  043300M     044300M     046100      046700M
                                                  047300
         WWEMPTYBUF        A(1)                   036600D     045800
         _QRNL_PSTR_PEPOSTFILE...
         _QRNL_PSTR_PEUSERAGENT...
         _QRNL_PSTR_PECONTENTTYPE...
         _QRNL_PSTR_PESOAPACTION...
      Références de zone de sous-procédure HTTP_GET_XMLTF
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEURL             A(32767)               049800D     052100      052400      052800
                           BASED(_QRNL_PST+)      053300      053900      054600
                           VARYING
         PESTARTPROC       *(16) PROCPTR          049900D     056600
         PEENDPROC         *(16) PROCPTR          050000D     056700
         PEUSRDTA          *(16)                  050100D     056800
         PETIMEOUT         I(10,0)                050200D     052600      053000      053500
                                                  054100      054800
         PEUSERAGENT       A(64)                  050300D     053100      053600      054200
                           BASED(_QRNL_PST+)      054900
         PEMODTIME         Z(26)                  050400D     053700      054300      055000
                           BASED(_QRNL_PST+)
         PECONTENTTYPE     A(64)                  050500D     054400      055100
                           BASED(_QRNL_PST+)
         PESOAPACTION      A(64)                  050600D     055200
                           BASED(_QRNL_PST+)
         WWRC              I(10,0)                050800D     052100M     052400M     052800M
                                                  053300M     053900M     054600M     055500
                                                  055700      056400M     057100
         WWFILE            A(40)                  050900D     051700M     052200      052500
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     46
                           VARYING                052900      053400      054000      054700
                                                  055600      056400      056900
         _QRNL_PSTR_PEUSERAGENT...
         _QRNL_PSTR_PEMODTIME...
         _QRNL_PSTR_PECONTENTTYPE...
         _QRNL_PSTR_PESOAPACTION...
      Références de zone de sous-procédure HTTP_POST_XMLTF
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEURL             A(32767)               060300D     062800      063300      063900
                           BASED(_QRNL_PST+)      064600      065400
                           VARYING
         PEPOSTDATA        *(16)                  060400D     062900      063400      064000
                                                  064700      065500
         PEPOSTDATALEN     I(10,0)                060500D     063000      063500      064100
                                                  064800      065600
         PESTARTPROC       *(16) PROCPTR          060600D     067500
         PEENDPROC         *(16) PROCPTR          060700D     067600
         PEUSRDTA          *(16)                  060800D     067700
         PETIMEOUT         I(10,0)                060900D     063700      064300      065000
                                                  065800
         PEUSERAGENT       A(64)                  061000D     064400      065100      065900
                           BASED(_QRNL_PST+)
         PECONTENTTYPE     A(64)                  061100D     065200      066000
                           BASED(_QRNL_PST+)
         PESOAPACTION      A(64)                  061200D     066100
                           BASED(_QRNL_PST+)
         WWRC              I(10,0)                061400D     062800M     063300M     063900M
                                                  064600M     065400M     066400      066600
                                                  067300M     068000
         WWFILE            A(40)                  061500D     062400M     063100      063600
                           VARYING                064200      064900      065700      066500
                                                  067300      067800
         _QRNL_PSTR_PEUSERAGENT...
         _QRNL_PSTR_PECONTENTTYPE...
         _QRNL_PSTR_PESOAPACTION...
      Références de zone de sous-procédure HTTP_POST_STMF_XMLTF
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEURL             A(32767)               071300D     073800      074200      074700
                           BASED(_QRNL_PST+)      075300      076000
                           VARYING
         PEPOSTFILE        A(32767)               071400D     073900      074300      074800
                           BASED(_QRNL_PST+)      075400      076100
                           VARYING
         PESTARTPROC       *(16) PROCPTR          071500D     078000
         PEENDPROC         *(16) PROCPTR          071600D     078100
         PEUSRDTA          *(16)                  071700D     078200
         PETIMEOUT         I(10,0)                071800D     074500      075000      075600
                                                  076300
         PEUSERAGENT       A(64)                  071900D     075100      075700      076400
                           BASED(_QRNL_PST+)
         PECONTENTTYPE     A(64)                  072000D     075800      076500
                           BASED(_QRNL_PST+)
         PESOAPACTION      A(64)                  072100D     076600
                           BASED(_QRNL_PST+)
         WWRC              I(10,0)                072300D     073800M     074200M     074700M
                                                  075300M     076000M     076900      077100
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     47
                                                  077800M     078500
         WWFILE            A(50)                  072400D     073400M     074000      074400
                           VARYING                074900      075500      076200      077000
                                                  077800      078300
         _QRNL_PSTR_PEPOSTFILE...
         _QRNL_PSTR_PEUSERAGENT...
         _QRNL_PSTR_PECONTENTTYPE...
         _QRNL_PSTR_PESOAPACTION...
      Références de zone de sous-procédure PARSEXML
         Zone              Attributs          Références (D=Défini M=Modifié)
*RNF7031 PEFD              I(10,0)                080000D
         PEDATA            A(8192)                080100D     081500
                           BASED(_QRNL_PST+)
         PELENGTH          I(10,0)                080200D     080700      081200      081500
                                                  082200
         DONE              I(10,0)                080400D     080800M     081500
      Références de zone de sous-procédure INITPARSER
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEELEMSTACK       DS(16516)              083400D     085500
                           BASED(_QRNL_PST+)
*RNF7031   .BUF            A(8192)                      D
                           VARYING
*RNF7031   .COLUMN         I(10,0)                      D
*RNF7031   .DEPTH          I(10,0)                      D
*RNF7031   .ENDCB          *(16) PROCPTR                D
*RNF7031   .ENTRY(512)     *(16)                        D
*RNF7031   .ERRCODE        I(10,0)                      D
*RNF7031   .LINE           I(10,0)                      D
           .NAMESPACE      N(1)                   083900M           D
           .NSCHAR         A(1)                   084000M     085000      085200            D
*RNF7031   .STARTCB        *(16) PROCPTR                D
*RNF7031   .USERDATA       *(16)                        D
           .XLATE          A(52)                  084200M           D
         PEENCODING        C(100)                 083500D     084500      084800      084900
                           BASED(_QRNL_PST+)      085200
                           CCSID(1200)
         WWPARSER          *(16)                  083600D     084600M     084800M     085000M
                                                  085200M     085500      085700      086100
                                                  086400
         _QRNL_PSTR_PEELEMSTACK...
         _QRNL_PSTR_PEENCODING...
      Références de zone de sous-procédure STARTELEMENT
         Zone              Attributs          Références (D=Défini M=Modifié)
         ROOT              DS(16516)              087500D     095800
                           BASED(_QRNL_PST+)
*RNF7031   .BUF            A(8192)                      D
                           VARYING
*RNF7031   .COLUMN         I(10,0)                      D
           .DEPTH          I(10,0)                091700M     091700      091800      091900
                                                  093000      093100      096500      097200
                                                        D
*RNF7031   .ENDCB          *(16) PROCPTR                D
           .ENTRY(512)     *(16)                  091800M     091900      093100            D
*RNF7031   .ERRCODE        I(10,0)                      D
*RNF7031   .LINE           I(10,0)                      D
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     48
           .NAMESPACE      N(1)                   094900      096300            D
           .NSCHAR         A(1)                   095100            D
           .STARTCB        *(16) PROCPTR          096000      096200            D
           .USERDATA       *(16)                  096400      097100            D
           .XLATE          A(52)                  094300            D
         LOCALNAME         C(16373)               087600D     093700      094200
                           BASED(_QRNL_PST+)
                           CCSID(1200)
         ATTS(32767)       *(16)                  087700D     095800
                           BASED(_QRNL_PST+)
         P_OLDELEM         *(16)                  087900D     088100      093100M
*RNF7031 OLDELEM           DS(10304)              088000D
                           BASED(P_OLDELEM)
*RNF7031   .ALLOCSIZE      I(10,0)                088000D
*RNF7031   .ATTRS          *(16)                  088000D
           .NAME           A(1024)                093200      088000D
                           VARYING
*RNF7031   .NS             A(1024)                088000D
                           VARYING
           .PATH           A(8192)                093200      088000D
                           VARYING
*RNF7031   .SIZE           I(10,0)                088000D
*RNF7031   .VALUE          *(16)                  088000D
         P_NEWELEM         *(16)                  088300D     088500      091900M
         NEWELEM           DS(10304)              088400D     091800      092000M
                           BASED(P_NEWELEM)
           .ALLOCSIZE      I(10,0)                092500M     088400D
           .ATTRS          *(16)                  095800M     096100      088400D
           .NAME           A(1024)                094500M     095100      095300      095400M
                           VARYING                095400      096700      097300      088400D
           .NS             A(1024)                095000M     095300M     096600      088400D
                           VARYING
           .PATH           A(8192)                093200M     096800      097400      088400D
                           VARYING
           .SIZE           I(10,0)                092400M     088400D
           .VALUE          *(16)                  092600M     088400D
         P_CALLBACK        *(16) PROCPTR          088700D     088800      089500      096200M
         CALLBACK          PROTOTYPE              088800D     097100M
         CALLBACKNS        PROTOTYPE              089500D     096400M
         P_ATTRARY         *(16)                  090400D     090500      096100M
         WWATTRARY(32767)  *(16)                  090500D     096900      097500
                           BASED(P_ATTRARY)
*RNF7031 TESTATT           A(1024)                090700D
                           VARYING
*RNF7031 X                 I(10,0)                090800D
         LEN               I(10,0)                090900D     093700M     094100M     094100
                                                  094500      095200
         POS               I(10,0)                091000D     095100M     095200      095200
                                                  095300      095400
         XLNAME            A(1024)                091100D     094500
                           BASED(P_XLNAME)
         P_XLNAME          *(16)                  091100      094400
         _QRNL_PSTR_LOCALNAME...
      Références de zone de sous-procédure CHARDATA
         Zone              Attributs          Références (D=Défini M=Modifié)
*RNF7031 ROOT              DS(16516)              098900D
                           BASED(_QRNL_PST+)
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     49
*RNF7031   .BUF            A(8192)                      D
                           VARYING
*RNF7031   .COLUMN         I(10,0)                      D
           .DEPTH          I(10,0)                099800            D
*RNF7031   .ENDCB          *(16) PROCPTR                D
           .ENTRY(512)     *(16)                  099800            D
*RNF7031   .ERRCODE        I(10,0)                      D
*RNF7031   .LINE           I(10,0)                      D
*RNF7031   .NAMESPACE      N(1)                         D
*RNF7031   .NSCHAR         A(1)                         D
*RNF7031   .STARTCB        *(16) PROCPTR                D
*RNF7031   .USERDATA       *(16)                        D
*RNF7031   .XLATE          A(52)                        D
         STRING            C(16373)               099000D     099500      101100      101200
                           BASED(_QRNL_PST+)      101400
                           CCSID(1200)
         LEN               I(10,0)                099100D     100000      101000
         X                 I(10,0)                099200D     101000      101100      101200
                                                  101400
         Y                 I(10,0)                099300D     100800M     101300M     101300
                                                  101400      101800
         NEWSIZE           U(10,0)                099400D     100000M     100100
         NEWVAL            C(16373)               099500D     101400M
                           BASED(P_NEWVAL)
                           CCSID(1200)
         P_NEWVAL          *(16)                  099500      100700M
      Références de zone de sous-procédure ENDELEMENT
         Zone              Attributs          Références (D=Défini M=Modifié)
*RNF7031 ROOT              DS(16516)              102800D
                           BASED(_QRNL_PST+)
*RNF7031   .BUF            A(8192)                      D
                           VARYING
*RNF7031   .COLUMN         I(10,0)                      D
           .DEPTH          I(10,0)                106300      109300      110200      111600
                                                  111800M     111800            D
           .ENDCB          *(16) PROCPTR          106500      106800            D
           .ENTRY(512)     *(16)                  106300      111600            D
*RNF7031   .ERRCODE        I(10,0)                      D
*RNF7031   .LINE           I(10,0)                      D
           .NAMESPACE      N(1)                   109100            D
*RNF7031   .NSCHAR         A(1)                         D
*RNF7031   .STARTCB        *(16) PROCPTR                D
           .USERDATA       *(16)                  109200      110100            D
           .XLATE          A(52)                  107700            D
*RNF7031 NAME              *(16)                  102900D
         P_CALLBACK        *(16) PROCPTR          103100D     103200      104000      106800M
         CALLBACK          PROTOTYPE              103200D     110100M
         CALLBACKNS        PROTOTYPE              104000D     109200M
         P_ATTRARY         *(16)                  105000D     105100      106700M
         WWATTRARY(32767)  *(16)                  105100D     109800      110600
                           BASED(P_ATTRARY)
         VALDS             DS(20)                 105300D     108200
         P_NEWVAL          *(16)                  105400D     105700      106900M     107800
                                                  110900      111000
         LEN               I(10,0)                105500D     107300M     107500M     108400
                                                  108500M     108700
         NEWVAL            A(65535)               105700D     108700
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     50
                           BASED(P_NEWVAL)
         VALUE             A(65535)               105800D     107200M     108400      108500
                           VARYING                108700M     108800
         P_RETVAL          *(16)                  105900D     108200M     108800M     109700
                                                  110500
      Références de zone de sous-procédure COPYATTRS
         Zone              Attributs          Références (D=Défini M=Modifié)
*RNF7031 ROOT              DS(16516)              113100D
                           BASED(_QRNL_PST+)
*RNF7031   .BUF            A(8192)                      D
                           VARYING
*RNF7031   .COLUMN         I(10,0)                      D
*RNF7031   .DEPTH          I(10,0)                      D
*RNF7031   .ENDCB          *(16) PROCPTR                D
*RNF7031   .ENTRY(512)     *(16)                        D
*RNF7031   .ERRCODE        I(10,0)                      D
*RNF7031   .LINE           I(10,0)                      D
*RNF7031   .NAMESPACE      N(1)                         D
*RNF7031   .NSCHAR         A(1)                         D
*RNF7031   .STARTCB        *(16) PROCPTR                D
*RNF7031   .USERDATA       *(16)                        D
           .XLATE          A(52)                  117500            D
         PEATTR(32767)     *(16)                  113200D     115300      116700
                           BASED(_QRNL_PST+)
         X                 I(10,0)                113400D     115200M     115300      115400M
                                                  115400      115600      116600      116700
                                                  117600
         WWCOUNT           I(10,0)                113500D     115600M     116000      116600
                                                  118800
         WWLEN             I(10,0)                113600D     116800M     116900      117000M
                                                  117200      117300M     117300
         P_ARRAY           *(16)                  113800D     113900      116000M     116000
                                                  119000
         WWARRAY(32767)    *(16)                  113900D     117600      118800M
                           BASED(P_ARRAY)
         P_ENDNULL         *(16)                  114100D     114200
*RNF7031 ENDNULL           A(1)                   114200D
                           BASED(P_ENDNULL)
         ATTRDTA           C(16383)               114400D     116800      117000
                           BASED(P_ATTRDTA)
                           CCSID(1200)
         P_ATTRDTA         *(16)                  114400      116700M     117400
         NEWDTA            A(16383)               114500D     118400M
                           BASED(P_NEWDTA)
         P_NEWDTA          *(16)                  114500
*RNF7031 XLNAME            A(1024)                114600D
                           BASED(P_XLNAME)
         P_XLNAME          *(16)                  114600
      Références de zone de sous-procédure FREEATTRS
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEATTRS           *(16)                  120000D     120800      121600
         X                 I(10,0)                120200D     120900M     121100      121200
                                                  121300M     121300
         P_ARRAY           *(16)                  120300D     120400      120800M
         WWARRAY(32767)    *(16)                  120400D     121100      121200
                           BASED(P_ARRAY)
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     51
      Références de zone de sous-procédure HTTP_PARSE_XML_STMF
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEFILE            A(32767)               124500D     126800      127100      127700
                           BASED(_QRNL_PST+)
                           VARYING
         PECCSID           I(10,0)                124600D     126600      126900      127600
         PESTARTPROC       *(16) PROCPTR          124700D     129500
         PEENDPROC         *(16) PROCPTR          124800D     129600
         PEUSRDTA          *(16)                  124900D     129400
         WWFD              I(10,0)                125100D     126800M     127100M     127700M
                                                  128200      130800      132600
         WWRC              I(10,0)                125200D     130600M     134300M     135200
         WWLEN             I(10,0)                125300D     130800M     130900      131400M
                                                  131400      131500M     131500      131800M
                                                  131800      132100
         WWBUF             A(8192)                125400D     130800      130800      131400
                                                  131800      132900
         WWXBUF            A(8192)                125500D     131500
                           BASED(P_BUF)
         P_BUF             *(16)                  125500      131400      131600
         WWENCODING        C(100)                 125600D     126700M     127000M     127800M
                           CCSID(1200)            129900
         WWMANUAL          N(1)                   125700D     127900M     131300
      Références de zone de sous-procédure HTTP_XMLNS
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEENABLE          N(1)                   136600D     136800      136800      136900
                           BASED(_QRNL_PST+)
         _QRNL_PSTR_PEENABLE...
      Références de zone de sous-procédure HTTP_XMLRETURNPTR
         Zone              Attributs          Références (D=Défini M=Modifié)
         PEENABLE          N(1)                   138800D     139000      139000      139100
                           BASED(_QRNL_PST+)
         _QRNL_PSTR_PEENABLE...
      Références de zone de sous-procédure ERRNO
         Zone              Attributs          Références (D=Défini M=Modifié)
         P_ERRNO           *(16)                 7033800D    7033900     7034000M
         WWRETURN          I(10,0)               7033900D    7034100
                           BASED(P_ERRNO)
      Références d'indicateur :
         Indicateur                           Références (D=Défini M=Modifié)
  * * * * *   F I N   D E S   R E F E R E N C E S   C R O I S E E S  * * * * *
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     52
                      R é f é r e n c e s   e x t e r n e s
      Procédures liées statiquement :
         Procédure                            Références
         MD5                                     3004000
         dup                                     5038500
         atoi                                    3009200
         dup2                                    5039300
         link                                    5056500
         open                                    5060200      038000      126800      127400
                                                  127700
         read                                    5066100      041100      130800
         stat                                    5070600      037400
         atoll                                   3009500
         chdir                                   5032200
         chmod                                   5033000
         chown                                   5033900
         close                                   5035400     5035800      045500      132600
         creat                                   5037600
         fcntl                                   5042200
         fstat                                   5044300
         fsync                                   5045200
         ioctl                                   5055500
         lseek                                   5057400
         lstat                                   5058400
         mkdir                                   5059300
         rmdir                                   5069800
         umask                                   5073200
         utime                                   5075000
         write                                   5075900
         memcpy                                  3010200
         XALLOC                                  3012000      091800      092600      116000
         access                                  5031300
         fchmod                                  5040200
         fchown                                  5041100
         getcwd                                  5046900
         getgid                                  5049200
         getuid                                  5054800
         unlink                                  5074200      055600      056900      066500
                                                  067800      077000      078300
         perror                                  6032300
         getegid                                 5047800
         geteuid                                 5048500
         opendir                                 5061400
         readdir                                 5067100
         symlink                                 5071500
         sysconf                                 5072400
         __errno                                 6031800     7034000
         SETERROR                                3004800      020300      031400      037600
                                                  038300      046500      128400      134100
         HTTPDATE                                3005200
         XDEALLOC                                3012200      111000      111500      111600
                                                  121200      121600      131600
         XREALLOC                                3012400      100400
         ICONVDYN                                3013500      094400      107800      117600
         closedir                                5036800
         getgrgid                                5049900
         getgrnam                                5050700
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     53
         getpwnam                                5052800
         getpwuid                                5054000
         pathconf                                5062200
         readlink                                5067900
         strerror                                6032000      037600      038300      128400
         HTTP_COMP                               1142500
         HTTP_DIAG                               1143400
         DEBUG_MSG                               3003500
         UTIL_DIAG                               3004500
         XML_XLATE                               3005700      131400
         NEW_ICONV                               3012800      084200
         XML_Parse                               4025000      081500
         fpathconf                               5043400
         ftruncate                               5046000
         getgroups                               5051500
         rewinddir                               5068900
         HTTP_CLOSE                              1024800
         HTTP_ERROR                              1026000
         HTTPS_INIT                              1028100
         HTTP_XPROC                              1042700
         HTTP_DEBUG                              1119500
         HTTP_XLATE                              1126400
         HTTP_CRASH                              1144200
         URL_ENCODE                              3002000
         FILE_CCSID                              3005500
         _C_TS_free                              3011700
         HTTP_XLATEP                             1128100
         HTTP_HEADER                             1138500
         BASE64_INIT                             3000600
         DEBUG_WRITE                             3003100
         DEBUG_CLOSE                             3003800
         CLOSE_ICONV                             3013200      020700      031900      047000
                                                  135000
         HTTP_URL_GET                            1006900     1007700      052200      052600
                                                  053100      053700      054400      055200
         HTTP_GETAUTH                            1033700
         HTTP_SETAUTH                            1035300
         _C_TS_malloc                            3011100
         HTTP_URL_POST                           1010900     1011800      063100      063700
                                                  064400      065200      066100
         HTTP_PARSEURL                           1021100
         HTTPS_DCM_REG                           1030100
         HTTPS_CLEANUP                           1031200
         HTTP_SETPROXY                           1036700
         HTTP_XLATEDYN                           1129800
         HTTP_TEMPFILE                           1145000      051700      062400      073400
         BASE64_ENCODE                           3000900
         DEBUG_SETPROC                           3002700
         _C_TS_realloc                           3011400
         HTTP_REDIR_LOC                          1043900
         HTTP_SETCCSIDS                          1121100
         HTTP_SETTABLES                          1122700
         URL_ENCODE_PRE                          3001500
         COMMTCP_FD_SET                          3007500
         XML_ParserFree                          4031400      020800      032000      047100
                                                  135100
         Qp0lRenameKeep                          5064200
         COMMTCP_FD_ZERO                         3008500
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     54
         XML_SetUserData                         4015600      085500
         XML_ErrorString                         4027700      020300      031400      046500
                                                  134100
         HTTP_URL_GET_RAW                        1015000      015700      016200      016800
                                                  017500      018300      019200
         HTTP_PERSIST_GET                        1101600
         HTTP_USE_COOKIES                        1140000
         HTTP_COOKIE_FILE                        1141600
         COMMTCP_FD_ISSET                        3008000
         XML_ParserCreate                        4013800      084600      084800
         XML_GetErrorCode                        4026500      081700
         Qp0lRenameUnlink                        5065200
         HTTP_URL_POST_RAW                       1018200      026900      027600      028400
                                                  029300      030300
         HTTP_PERSIST_OPEN                       1098400
         HTTP_PERSIST_POST                       1106700
         HTTP_SETFILECCSID                       1125000
         HTTP_PROXY_SETAUTH                      1038300
         HTTP_PROXY_GETAUTH                      1040800
         HTTP_LONG_PARSEURL                      1060300
         HTTP_URL_POST_RAW2                      1064700      041400      042200      043100
                                                  044100      045200
         HTTP_URL_POST_STMF                      1068000     1068800      074000      074500
                                                  075100      075800      076600
         HTTP_PERSIST_CLOSE                      1109000
         HTTP_XML_SETCCSIDS                      1134000      127600
         XML_ParserCreateNS                      4036700      085000      085200
         HTTP_BUILD_SOCKADDR                     1023400
         HTTP_URL_ENCODER_NEW                    1045300
         HTTP_SET_100_TIMEOUT                    1132500
         HTTP_URL_ENCODER_FREE                   1055200
         HTTP_MFD_ENCODER_OPEN                   1111300
         XML_SetElementHandler                   4019200      085900
         Qp0lGetPathFromFileID                   5063100
         HTTP_SELECT_COMMDRIVER                  1062100
         HTTP_MFD_ENCODER_CLOSE                  1118200
         HTTP_URL_ENCODER_ADDVAR                 1047600
         HTTP_URL_ENCODER_GETPTR                 1050000
         HTTP_URL_ENCODER_GETSTR                 1052600
         HTTP_MFD_ENCODER_ADDVAR                 1113100
         COMMTCP_CONNECTBLOCKING                 3006500
         COMMTCP_CONNECTNONBLOCK                 3007000
         HTTP_MFD_ENCODER_ADDSTMF                1116800
         XML_SetEndElementHandler                4020400
         XML_GetCurrentLineNumber                4028900      081800
         HTTP_URL_ENCODER_ADDVAR_S               1057200
         HTTP_MFD_ENCODER_ADDVAR_S               1114900
         XML_SetStartElementHandler              4019800
         XML_GetCurrentColumnNumber              4030200      081900
         XML_SetCharacterDataHandler             4023100      086200
         XML_SetUnknownEncodingHandler           4033700
         XML_SetEndNamespaceDeclHandler          4041300
         XML_SetStartNamespaceDeclHandler        4039400
      Zones importées :
         Zone              Attributs          Définie
         Aucune référence dans le source.
      Zones exportées :
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     55
         Zone              Attributs          Définie
         Aucune référence dans le source.
   * * * * *  F I N   D E S   R E F E R E N C E S   E X T E R N E S  * * * * *
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     56
               R é c a p i t u l a t i f   d e s   m e s s a g e s
 ID msg  Gr Numéro Texte message
*RNF5409 00     13 L'appel prototype renvoie une valeur perdue lors de
                   l'utilisation de CALLP.
*RNF7031 00    277 Le nom ou l'indicateur n'est pas utilisé.
 * * * * *  F I N   D U   R E C A P I T U L A T I F   D E S   M E S S A G E S  * * * * *
 5722WDS V5R1M0  010525 RN        IBM ILE RPG             LIBHTTP/HTTPXMLR4        ASBROCHO   27/08/07 23:05:03        Page     57
                       R é c a p i t u l a t i f   f i n a l
  Nombre total de messages :
    Information  (00) . . . . . . . :      290
    Avertissement (10)  . . . . . . :        0
    Erreur       (20) . . . . . . . :        0
    Erreur grave (30+)  . . . . . . :        0
    ---------------------------------  -------
    Total . . . . . . . . . . . . . :      290
  Nombre total d'enregistrements source :
    Enregistrements . . . . . . . . :     1388
    Spécifications  . . . . . . . . :      848
    Enregistrements de données  . . :        0
    Commentaires  . . . . . . . . . :      263
  * * * * *   F I N   D U   R E C A P I T U L A T I F   F I N A L   * * * * *
                 M e s s a g e s   d e   g é n é r a t i o n   d e   c o d e
Error creating source debugger information.
An error occurred during translation.
* * * * * F I N   D E S   M E S S A G E S   D E   G E N E R A T I O N   D E   C O D E * * * * *
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------