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

RE: RPG WEB SERVICES



Scott:

Thanks for your help and sorry about the images I copy to the previous
email. 
I did the changes to my program using EXAMPLE20 for the SOAPACTION
extended size and now if you see the error log (see attachments) you'll
find that is not chopped anymore:
SOAPAction:
http://services.intervalintl.com/schema/contactmanager/contactManager/Ge
tTelephonesRequest
Which is the same as the one that appears in SOAPUI when you press the
WS-A button.
I just did debug the RPG program and found that instead the XML I am
getting the following:
Failed to route event via endpoint: null. Message payload is      
of type: DepthXMLStreamReader 
I am sending also the RPG source to see if you can help me, because I
stll having the same problem.

Regards,

Julio   

 
-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Scott
Klement
Sent: Wednesday, October 07, 2009 1:02 AM
To: HTTPAPI and FTPAPI Projects
Subject: Re: RPG WEB SERVICES

Hi Julio,

In the future, please don't post images like this.  Your e-mail was 
HUUUGE, and it's being sent out to hundreds of people on this mailing 
list, and using a ton of bandwidth.  Furthermore, it takes a few minutes

for me to open your e-mail becuse it's so large.

Instead of including images of screen shots for every page of your 
program, please just copy/paste the TEXT, not an image.  Or better yet, 
load the whole program into WDSC/RDi, copy/paste the entire code into 
Notepad and save it to your PC, then attach the file to your e-mail.

(Or accomplish the same thing via FTP or any of a whole slew of similar 
ways...)

Okay -- nuff said about that.


You appear to be having trouble with the SoapAction: being truncated... 
  if you look at your debug file, you have SoapAction headers that look 
like this (There are several, but I'm only going to post one example):

SOAPAction:
"http://172.25.32.53:8080/EnterpriseBusWeb/services/ies/contactM

As you can see, it appears to be chopped off in the middle.  This is 
likely because the SoapAction parameter in HTTPAPI is only 64 bytes. If 
you look at EXAMPLE20 it demonstrates how to work around this problem. 
(However, the next version of HTTPAPI will attempt to eliminate the 
problem completely.)

Later in your debug file, you have the SoapAction set to "" (an empty 
string.)  I've seen web services where this is correct, but in most of 
them it's not.  I suggest looking at the SoapAction that SoapUI is using

to determine what the correct SoapACtion should be.  Then (again) look 
at EXAMPLE20 for a workaround if it's more than 64 chars long.

Good luck


Julio Cabrera wrote:
>    I am trying to receive XML from a Web Service in my Company. This
Web
>    Service is GETTELEPHONES. I send a contact id and receive a group
of
>    field with phone information.
> 
>    I tested it in SoapUI and it worked  ok:
> 
> 
>    [cid:image002.jpg@01CA4697.64BBDD80]
> 
> 
>    [cid:image003.jpg@01CA4697.64BBDD80]
> 
> 
>    I made and RPG program (based in Scott Klement)  to call the Web
>    Services:
> 
> 
>    [cid:image004.jpg@01CA4697.64BBDD80]
> 
>    [cid:image005.jpg@01CA4697.64BBDD80]
> 
>    [cid:image009.jpg@01CA4697.64BBDD80]
> 
>    [cid:image010.jpg@01CA4697.64BBDD80]
> 
>    [cid:image011.jpg@01CA4697.64BBDD80]
> 
>    [cid:image016.jpg@01CA4697.64BBDD80]
> 
> 
>    I am not getting the XML back.
> 
> 
>    If  I debug the program I find out this:
> 
>    [cid:image018.jpg@01CA4697.64BBDD80]
> 
>     
> 
>    What I am doing wrong?
> 
> 
>    I attached the log file
> 
> 
>    Any help will be appreciated.
> 
> 
>    JULIO C. CABRERA
> 
>    Sr. Programmer Analyst, Information Technology
> 
>    Interval International
> 
>    6262 Sunset Drive o Miami, Florida 33143
> 
>    305.666.1861, ext. 7287 o direct 305.925.7287
> 
>    cell 305.928.7925 o fax 305.668.3409
> 
>    [1]Julio.Cabrera@xxxxxxxxxxxxxxxx
> 
> 
>    IntervalWorld.com o ResortDeveloper.com
> 
>     
> 
>    Men are born ignorant, not stupid. They are made stupid by
education -
>    Bertrand Rusell
> 
> 
>
______________________________________________________________________
>    _______
>    Scanned by IBM Email Security Management Services powered by
>    MessageLabs. For more information please visit
http://www.ers.ibm.com
>
______________________________________________________________________
>    _______
> 
> References
> 
>    1. mailto:Julio.Cabrera@xxxxxxxxxxxxxxxx
> 
> 
> 
>
------------------------------------------------------------------------
> 
>
-----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
>
-----------------------------------------------------------------------

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------

________________________________________________________________________
_____
Scanned by IBM Email Security Management Services powered by
MessageLabs.
________________________________________________________________________
_____

_____________________________________________________________________________
Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com
_____________________________________________________________________________
HTTPAPI Ver 1.23 released 2008-04-24
OS/400 Ver V5R4M0

http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry  : 2
DNS resolver options: x'00000136'
DNS default domain: corp.interval-intl.com
DNS server found: 172.25.46.27
DNS server found: 172.25.46.28
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /EnterpriseBusWeb/services/ies/contactManager HTTP/1.1
Host: 172.25.32.53:8080
User-Agent: http-api/1.19
Content-Type: text/xml; charset=UTF-8
SOAPAction:  
Expect: 100-continue
Content-Length: 708


recvresp(): entered
HTTP/1.1 100 Continue


SetError() #13: HTTP/1.1 100 Continue
senddoc(): entered
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:con="http://services.intervalintl.com/schema/contactmanager";  xmlns:head="http://services.intervalintl.com/schema/common/headerrq";> <soapenv:Header/> <soapenv:Body> <con:GetTelephonesRequest> <con:Header CountryCd="?" LanguageCd="?" TerminalId="?"  TransactionChannel="?" EchoToken="?" TimeStamp="2009-06-10T24:00:00" Target="Production" Version="0.1" Retransmission Indicator="1" MaxResponses="100" MoreDataEchoToken="?" SessionId="?"> <!--1 to 2 repetitions:--> <head:Requestor Id="?" IdContext="?" Password="?"/> </con:Header> <con:ContactId>3</con:ContactId> </con:GetTelephonesRequest> </soapenv:Body> </soapenv:Envelope>
recvresp(): entered
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Date: Wed, 07 Oct 2009 12:44:07 GMT
Server: Mule Core/2.2.1
Expires: Wed, 07 Oct 2009 08:44:07 EDT
MULE_REPLYTO_STOP: true
http.method: POST
Transfer-Encoding: chunked
Content-Type: text/xml
Transfer-Encoding: chunked


SetError() #13: HTTP/1.1 200 OK
recvdoc parms: chunked 0
header_load_cookies() entered
recvchunk(): entered
get_chunk_size(): entered
11d

chunk size = 285
get_chunk_size returned 285
calling comm_blockread
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Failed to route event via endpoint: null. Message payload is of type: DepthXMLStreamReader</faultstring></soap:Fault></soap:Body></soap:Envelope>
comm_blockread returned 285


get_chunk_size(): entered
0

chunk size = 0
get_chunk_size returned 0
http_close(): entered
New iconv() objects set, PostRem=1208. PostLoc=0. ProtRem=819. ProtLoc=0
http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry  : 2
DNS resolver options: x'00000136'
DNS default domain: corp.interval-intl.com
DNS server found: 172.25.46.27
DNS server found: 172.25.46.28
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /EnterpriseBusWeb/services/ies/contactManager HTTP/1.1
Host: 172.25.32.53:8080
User-Agent: http-api/1.19
Content-Type: text/xml; charset=UTF-8
SOAPAction:  
Expect: 100-continue
Content-Length: 708
SOAPAction: http://services.intervalintl.com/schema/contactmanager/contactManager/GetTelephonesRequest


recvresp(): entered
HTTP/1.1 100 Continue


SetError() #13: HTTP/1.1 100 Continue
senddoc(): entered
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:con="http://services.intervalintl.com/schema/contactmanager";  xmlns:head="http://services.intervalintl.com/schema/common/headerrq";> <soapenv:Header/> <soapenv:Body> <con:GetTelephonesRequest> <con:Header CountryCd="?" LanguageCd="?" TerminalId="?"  TransactionChannel="?" EchoToken="?" TimeStamp="2009-06-10T24:00:00" Target="Production" Version="0.1" Retransmission Indicator="1" MaxResponses="100" MoreDataEchoToken="?" SessionId="?"> <!--1 to 2 repetitions:--> <head:Requestor Id="?" IdContext="?" Password="?"/> </con:Header> <con:ContactId>3</con:ContactId> </con:GetTelephonesRequest> </soapenv:Body> </soapenv:Envelope>
recvresp(): entered
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Date: Wed, 07 Oct 2009 13:08:32 GMT
Server: Mule Core/2.2.1
Expires: Wed, 07 Oct 2009 09:08:32 EDT
MULE_REPLYTO_STOP: true
http.method: POST
Transfer-Encoding: chunked
Content-Type: text/xml
Transfer-Encoding: chunked


SetError() #13: HTTP/1.1 200 OK
recvdoc parms: chunked 0
header_load_cookies() entered
recvchunk(): entered
get_chunk_size(): entered
11d

chunk size = 285
get_chunk_size returned 285
calling comm_blockread
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Failed to route event via endpoint: null. Message payload is of type: DepthXMLStreamReader</faultstring></soap:Fault></soap:Body></soap:Envelope>
comm_blockread returned 285


get_chunk_size(): entered
0

chunk size = 0
get_chunk_size returned 0
http_close(): entered
New iconv() objects set, PostRem=1208. PostLoc=0. ProtRem=819. ProtLoc=0
http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry  : 2
DNS resolver options: x'00000136'
DNS default domain: corp.interval-intl.com
DNS server found: 172.25.46.27
DNS server found: 172.25.46.28
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /EnterpriseBusWeb/services/ies/contactManager HTTP/1.1
Host: 172.25.32.53:8080
User-Agent: http-api/1.19
Content-Type: text/xml; charset=UTF-8
Expect: 100-continue
Content-Length: 708
SOAPAction: http://services.intervalintl.com/schema/contactmanager/contactManager/GetTelephonesRequest


recvresp(): entered
HTTP/1.1 100 Continue


SetError() #13: HTTP/1.1 100 Continue
senddoc(): entered
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:con="http://services.intervalintl.com/schema/contactmanager";  xmlns:head="http://services.intervalintl.com/schema/common/headerrq";> <soapenv:Header/> <soapenv:Body> <con:GetTelephonesRequest> <con:Header CountryCd="?" LanguageCd="?" TerminalId="?"  TransactionChannel="?" EchoToken="?" TimeStamp="2009-06-10T24:00:00" Target="Production" Version="0.1" Retransmission Indicator="1" MaxResponses="100" MoreDataEchoToken="?" SessionId="?"> <!--1 to 2 repetitions:--> <head:Requestor Id="?" IdContext="?" Password="?"/> </con:Header> <con:ContactId>3</con:ContactId> </con:GetTelephonesRequest> </soapenv:Body> </soapenv:Envelope>
recvresp(): entered
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Date: Wed, 07 Oct 2009 13:12:09 GMT
Server: Mule Core/2.2.1
Expires: Wed, 07 Oct 2009 09:12:09 EDT
MULE_REPLYTO_STOP: true
http.method: POST
Transfer-Encoding: chunked
Content-Type: text/xml
Transfer-Encoding: chunked


SetError() #13: HTTP/1.1 200 OK
recvdoc parms: chunked 0
header_load_cookies() entered
recvchunk(): entered
get_chunk_size(): entered
11d

chunk size = 285
get_chunk_size returned 285
calling comm_blockread
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Failed to route event via endpoint: null. Message payload is of type: DepthXMLStreamReader</faultstring></soap:Fault></soap:Body></soap:Envelope>
comm_blockread returned 285


get_chunk_size(): entered
0

chunk size = 0
get_chunk_size returned 0
http_close(): entered
New iconv() objects set, PostRem=1208. PostLoc=0. ProtRem=819. ProtLoc=0
http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry  : 2
DNS resolver options: x'00000136'
DNS default domain: corp.interval-intl.com
DNS server found: 172.25.46.27
DNS server found: 172.25.46.28
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /EnterpriseBusWeb/services/ies/contactManager HTTP/1.1
Host: 172.25.32.53:8080
User-Agent: http-api/1.19
Content-Type: text/xml; charset=UTF-8
Expect: 100-continue
Content-Length: 708
SOAPAction: http://services.intervalintl.com/schema/contactmanager/contactManager/GetTelephonesRequest


recvresp(): entered
HTTP/1.1 100 Continue


SetError() #13: HTTP/1.1 100 Continue
senddoc(): entered
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:con="http://services.intervalintl.com/schema/contactmanager";  xmlns:head="http://services.intervalintl.com/schema/common/headerrq";> <soapenv:Header/> <soapenv:Body> <con:GetTelephonesRequest> <con:Header CountryCd="?" LanguageCd="?" TerminalId="?"  TransactionChannel="?" EchoToken="?" TimeStamp="2009-06-10T24:00:00" Target="Production" Version="0.1" Retransmission Indicator="1" MaxResponses="100" MoreDataEchoToken="?" SessionId="?"> <!--1 to 2 repetitions:--> <head:Requestor Id="?" IdContext="?" Password="?"/> </con:Header> <con:ContactId>3</con:ContactId> </con:GetTelephonesRequest> </soapenv:Body> </soapenv:Envelope>
recvresp(): entered
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Date: Wed, 07 Oct 2009 13:14:04 GMT
Server: Mule Core/2.2.1
Expires: Wed, 07 Oct 2009 09:14:04 EDT
MULE_REPLYTO_STOP: true
http.method: POST
Transfer-Encoding: chunked
Content-Type: text/xml
Transfer-Encoding: chunked


SetError() #13: HTTP/1.1 200 OK
recvdoc parms: chunked 0
header_load_cookies() entered
recvchunk(): entered
get_chunk_size(): entered
11d

chunk size = 285
get_chunk_size returned 285
calling comm_blockread
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Failed to route event via endpoint: null. Message payload is of type: DepthXMLStreamReader</faultstring></soap:Fault></soap:Body></soap:Envelope>
comm_blockread returned 285
New iconv() objects set, PostRem=1208. PostLoc=0. ProtRem=819. ProtLoc=0
http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry  : 2
DNS resolver options: x'00000136'
DNS default domain: corp.interval-intl.com
DNS server found: 172.25.46.27
DNS server found: 172.25.46.28
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /EnterpriseBusWeb/services/ies/contactManager HTTP/1.1
Host: 172.25.32.53:8080
User-Agent: http-api/1.19
Content-Type: text/xml; charset=UTF-8
Expect: 100-continue
Content-Length: 708
SOAPAction: http://services.intervalintl.com/schema/contactmanager/contactManager/GetTelephonesRequest


recvresp(): entered
HTTP/1.1 100 Continue


SetError() #13: HTTP/1.1 100 Continue
senddoc(): entered
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:con="http://services.intervalintl.com/schema/contactmanager";  xmlns:head="http://services.intervalintl.com/schema/common/headerrq";> <soapenv:Header/> <soapenv:Body> <con:GetTelephonesRequest> <con:Header CountryCd="?" LanguageCd="?" TerminalId="?"  TransactionChannel="?" EchoToken="?" TimeStamp="2009-06-10T24:00:00" Target="Production" Version="0.1" Retransmission Indicator="1" MaxResponses="100" MoreDataEchoToken="?" SessionId="?"> <!--1 to 2 repetitions:--> <head:Requestor Id="?" IdContext="?" Password="?"/> </con:Header> <con:ContactId>3</con:ContactId> </con:GetTelephonesRequest> </soapenv:Body> </soapenv:Envelope>
recvresp(): entered
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Date: Wed, 07 Oct 2009 13:27:50 GMT
Server: Mule Core/2.2.1
Expires: Wed, 07 Oct 2009 09:27:50 EDT
MULE_REPLYTO_STOP: true
http.method: POST
Transfer-Encoding: chunked
Content-Type: text/xml
Transfer-Encoding: chunked


SetError() #13: HTTP/1.1 200 OK
recvdoc parms: chunked 0
header_load_cookies() entered
recvchunk(): entered
get_chunk_size(): entered
11d

chunk size = 285
get_chunk_size returned 285
calling comm_blockread
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Failed to route event via endpoint: null. Message payload is of type: DepthXMLStreamReader</faultstring></soap:Fault></soap:Body></soap:Envelope>
comm_blockread returned 285


get_chunk_size(): entered
0

chunk size = 0
get_chunk_size returned 0
http_close(): entered
                             Evaluate Expression                               
                                                                               
Previous debug expressions                                                     
                                                                               
> EVAL value                                                                   
  VALUE =                                                                      
            ....5...10...15...20...25...30...35...40...45...50...55...60       
       1   'Failed to route event via endpoint: null. Message payload is'      
      61   ' of type: DepthXMLStreamReader                              '      
     121   '                                                            '      
     181   '                                                            '      
     241   '                                                            '      
     301   '                                                            '      
     361   '                                                            '      
     421   '                                                            '      
     481   '                                                            '      
     541   '                                                            '      
     601   '                                                            '      
                                                                       More... 
Debug . . .                                                                    
      *******************************************************************************
      *                                                                             *
      *  PROGRAM     :  GetPhones                                                   *
      *  DESCRIPTION :  Membership Re-Architecture Service                          *
      *                 - Get Contact Phone Numbers                                 *
      *                                                                             *
      *******************************************************************************
      *                                                                             *
      *                   M O D I F I C A T I O N S                                 *
      *                   ~~~~~~~~~~~~~~~~~~~~~~~~~                                 *
      *   Date     User ID    Task #     Description                                *
      *   ----     -------    --------   -----------                                *
      * 10/02/2009 JCabrera   RA02000301 Program Written                            *
                                                                                    *
      *  Before compiling:                                                          *
      *    * make sure LIBHTTP library is in your library list.                     *
      *> ign:   ADDLIBLE LIBHTTP *LAST                                              *
      *                                                                             *
      *  To compile:                                                                *
      *>    CRTBNDRPG GEOIP SRCFILE(QRPGLESRC) DBGVIEW(*LIST)                       *
      *                                                                             *
      *******************************************************************************
      *                                                                             *
     h dftactgrp(*no) bnddir('HTTPAPI':'QC2LE')                                     *
                                                                                    *
      /copy HTTPAPI_H                                                               *

     d GetPhones       PR                  ExtPgm('GETPHONES')
     d   ContactID                   22a   const
     d GetPhones       PI
     d   ContactID                   22a   const
     d MapXmlData      PR
     d   xml_data                    52A   varying
     d   depth                       10I 0 value
     d   name                      1024A   varying const
     d   path                     24576A   varying const
     d   value                    65535A   varying const
     d   attrs                         *   dim(32767)
     d                                     const options(*varsize)

     D Add_SOAPACTION  PR
     D   Header                    1024A   varying
     D   UserData                      *   value

     d VARYINGDATAOFFSET...
     d                 c                   const(2)
     d SOAP            s          32767a   varying
     d xml_name        s             50a   varying
     d wait            s              1a
     d rc              s             10i 0
      *******************************************************************************
      /eject
      /free
        if %parms < 1;
           http_comp('Usage:  CALL GETPHONES PARM(''ContactId (22a)'')');
           return;
        endif;

       // Take the exact XML document as the one in the SoapUI client and turned it in
       // into one big EVAL statement and concatenate the ContactId parameter into the middle,
       // so that the Contact Id can be passed as a parameter.

        SOAP = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/+
         soap/envelope/" +
         xmlns:con="http://services.intervalintl.com/schema/contactmanager";  +
         xmlns:head="http://services.intervalintl.com/schema/common/headerrq";> +
            <soapenv:Header/> +
            <soapenv:Body> +
               <con:GetTelephonesRequest> +
                  <con:Header CountryCd="?" LanguageCd="?" TerminalId="?"  +
         TransactionChannel="?" EchoToken="?" TimeStamp="2009-06-10T24:00:00" +
         Target="Production" Version="0.1" Retransmission +
         Indicator="1" MaxResponses="100" MoreDataEchoToken="?" SessionId="?"> +
                     <!--1 to 2 repetitions:--> +
                     <head:Requestor Id="?" IdContext="?" Password="?"/> +
                  </con:Header> +
                  <con:ContactId>' + %trim(ContactId) + '</con:ContactId> +
               </con:GetTelephonesRequest> +
            </soapenv:Body> +
         </soapenv:Envelope>';

       // The http_setCCSIDs() routine tells HTTPAPI to translate my XML document from EBCDIC/UTF-8
       // unicode, because this is what the web service is expecting. 1208 is the CCSID for UTF-8
       // unicode. 0 is a special value that means "use my jobs default CCSID," which will be EBCDIC
       // in my environment.

       http_setCCSIDs(1208: 0);

       // The http_debug() routine tells HTTPAPI to produce a log containing debugging information,
       // which can be invaluable in troubleshooting HTTPAPI.
       // The debug file will be placed in the IFS under the name /tmp/httpapi_debug.txt.

             http_debug(*ON);

       http_xproc( HTTP_POINT_ADDL_HEADER
                 : %paddr(Add_SOAPACTION) );

             rc = http_post_xml( 'http://172.25.32.53:8080/EnterpriseBusWeb/+
                                  services/ies/contactManager'
                               : %addr(SOAP) + VARYINGDATAOFFSET
                               : %len(SOAP)
                               : *NULL
                               : %paddr(MapXmlData)
                               : %addr(xml_name)
                               : HTTP_TIMEOUT
                               : HTTP_USERAGENT
                               : 'text/xml; charset=UTF-8');
        //                     : '');

        if (rc<>1);
                  http_crash();
               endif;

               dsply xml_name  ' ' wait;
               *inlr = *on;

      /end-free

     P MapXmlData      B
     D MapXmlData      PI
     D   xml_data                    52a   varying
     D   depth                       10I 0 value
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)

      /free
              if (name = 'TelephoneNumber');
                 xml_data = value;
              endif;
      /end-free
     P                 E
      *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      * HTTPAPI will call this (because we set it with http_xproc)
      * just before sending the HTTP headers to the remote server.
      * This procedure lets us add any header we like to the
      * HTTP request.
      *
      * I'll use it to supply the SoapAction: header
      * This way, I can supply a SOAPAction that's up to
      * 1024 characters long.
      *
      * NOTE: Make sure you leave off the SOAPAction header on the
      *       HTTP_url_post_xml, above, otherwise you'll send two
      *       of them!
      *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     P Add_SOAPACTION  B
     D Add_SOAPACTION  PI
     D   Header                    1024A   varying
     D   UserData                      *   value
      /free
         Header = 'SOAPAction: '
                + 'http://services.intervalintl.com/schema/contactmanager/+
                   contactManager/GetTelephonesRequest'
                + x'0d25';
      /end-free
     P                 E
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------