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

RE: Consuming an internal web service



Sender: =?iso-8859-1?Q?Machado_Nicol=E1s_Guillermo?= <nicolas.machado@xxxxxxxxxx>

Thanks Scott 

Because I didn't hat a ProVip, just a Free one that let me read the first article.
My confusion get when I point our webservice to the "SOAP Message Generator" and create the message I get the XML, but I don't know how to 
put the "data" inside the message.

Reading your sample I realice that i have to put it between "'<SOAP-ENV:Body>'" tags, I think.

Well thank agai Scott, I will try with this source.
I promise not to bother you.

Regards
Nicolas



-----Original Message-----
From: owner-ftpapi@xxxxxxxxxxxxx [mailto:owner-ftpapi@xxxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: Lunes, 20 de Marzo de 2006 02:21 p.m.
To: ftpapi@xxxxxxxxxxxxx
Subject: RE: Consuming an internal web service

Sender: Scott Klement <sk@xxxxxxxxxxxxxxxx>

> I have some doubts on how to begin. I read the message of Scott about 
> the "SOAP Message Generator", but I feel that something is missing.

What do you feel is missing?


> I also read the EXAMPLE16, but I don't see any "SOAP" message.

EXAMPLE16 doesn't use SOAP.


> So I'm confused.
> Can anybody send me another example ?
>
> Please don't have to be right now, take your time, i'm interested just 
> for my own knowledge.

I wrote an example recently for the Club Tech iSeries Programming Tips newsletter.  If you have a ProVIP account with the iSeries Network (you're entitled to one if you have a subscription to iSeries NEWS magazine) then you can read it at the following link:

http://www.iseriesnetwork.com/article.cfm?id=52258

If you don't have a ProVIP membership...  here's the code from the article (but without the text that explains how it works)


       * Example of consuming a Web Service for Currency Conversion
       *                                   Scott Klement, Feb 9, 2006
       *
       *  This program requires HTTPAPI to be installed on your iSeries
       *  and compiled with XML support.  You can get it from the
       *  following link:
       *   http://www.scottklement.com/httpapi/
       *
       *  To compile this program:
       *    CRTBNDRPG EXCHRATE SRCFILE(xxx/xxx) DBGVIEW(*LIST)
       *
       *  Sample of calling this program:
       *    CALL EXCHRATE PARM('USD' 'CAD' 15.00)
       *
       *    (It will respond with the amount of Canadian dollars
       *    that equal 15.00 in the United States.)
       *
       *  For a list of valid country codes, point your web browser
       *  at the following link:
       *    http://www.webservicex.net/CurrencyConvertor.asmx
       *
       *
      H DFTACTGRP(*NO) BNDDIR('LIBHTTP/HTTPAPI')

      D EXCHRATE        PR                  ExtPgm('EXCHRATE')
      D   Country1                     3A   const
      D   Country2                     3A   const
      D   Amount                      15P 5 const
      D EXCHRATE        PI
      D   Country1                     3A   const
      D   Country2                     3A   const
      D   Amount                      15P 5 const

       /copy libhttp/qrpglesrc,httpapi_h

      D Incoming        PR
      D   rate                         8F
      D   depth                       10I 0 value
      D   name                      1024A   varying const
      D   path                     24576A   varying const
      D   value                    32767A   varying const
      D   attrs                         *   dim(32767)
      D                                     const options(*varsize)

      D SOAP            s          32767A   varying
      D rc              s             10I 0
      D rate            s              8F
      D Result          s             12P 2
      D msg             s             50A
      D wait            s              1A

       /free
        SOAP =
         '<?xml version="1.0" encoding="US-ASCII" standalone="no"?>'
        +'<SOAP-ENV:Envelope'
        +'    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";'
        +'    xmlns:tns="http://www.webserviceX.NET/";>'
        +'<SOAP-ENV:Body>'
        +'  <tns:ConversionRate>'
        +'      <tns:FromCurrency>'+ %trim(Country1) +'</tns:FromCurrency>'
        +'      <tns:ToCurrency>'+ %trim(Country2) + '</tns:ToCurrency>'
        +'  </tns:ConversionRate>'
        +'</SOAP-ENV:Body>'
        +'</SOAP-ENV:Envelope>';

        rc = http_url_post_xml(
                   'http://www.webservicex.net/CurrencyConvertor.asmx'
                          : %addr(SOAP) + 2
                          : %len(SOAP)
                          : *NULL
                          : %paddr(Incoming)
                          : %addr(rate)
                          : HTTP_TIMEOUT
                          : HTTP_USERAGENT
                          : 'text/xml'
                          : 'http://www.webserviceX.NET/ConversionRate');
        if (rc <> 1);
           msg = http_error();
        else;
           Result = %dech(Amount * rate: 12: 2);
           msg = 'Result = ' + %char(Result);
        endif;

        dsply msg ' ' wait;

        *inlr = *on;

       /end-free

      P Incoming        B
      D Incoming        PI
      D   rate                         8F
      D   depth                       10I 0 value
      D   name                      1024A   varying const
      D   path                     24576A   varying const
      D   value                    32767A   varying const
      D   attrs                         *   dim(32767)
      D                                     const options(*varsize)

       /free
           if (name = 'ConversionRateResult');
              rate = %float(value);
           endif;
       /end-free
      P                 E

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubsribe from the list send mail
to majordomo@xxxxxxxxxxxxx with the body: unsubscribe ftpapi mymailaddr
-----------------------------------------------------------------------

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubsribe from the list send mail
to majordomo@xxxxxxxxxxxxx with the body: unsubscribe ftpapi mymailaddr
-----------------------------------------------------------------------