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

Re: question about writing request XML to IFS



   thank you Mike!
   I will change my code and let you know
     __________________________________________________________________

   From: Mike Krebs <mkrebs@xxxxxxxxxxxxxxxxxx>
   To: HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
   Sent: Thursday, March 26, 2015 1:42 PM
   Subject: RE: question about writing request XML to IFS
   It looks like your  soap and $xmlIn might be varchar and you don't
   quite have the usage of them down pat. Varchar fields have 2 or 4 bytes
   of length data in front of the data.  RPGLE handles finding the data so
   you can eval char = varchar, but APIs usually require the actual data
   to be passed via the pointer.
   To find the length of a varChar:
   Length = %len(soap); // or if you have extra blanks on the end you wish
   to discard
   Length = %len(%trimr(soap));
   To get a pointer to the data in a varChar use:
   %addr(soap:*data)
   So your write in the code below looks like it might be re-written as:
   callp write(fd:%addr(SOAP:*data): %len(SOAP));
   -----Original Message-----
   From: [1]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [mailto:[2]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Donnie
   Barrow
   Sent: Thursday, March 26, 2015 11:30 AM
   To: HTTPAPI and FTPAPI Projects
   Subject: question about writing request XML to IFS
   Ok I calling out to a webservice with this xml
   <?xml version="1.0" encoding="UTF-8"?>¬¬ <ORD_LOCK_STAT_REQ>
   <INSTANCE>wmsdev02</INSTANCE> ¬ <ORDNUM>120328600-003145237</ORDNUM>
   ¬ <WH_ID>MA12</WH_ID>
   <CLIENT_ID>XPDEX</CLIENT_ID>
   </ORD_LOCK_STAT_REQ>¬¬
   But when I look at it in the IFS this is what it looks likeR<?xml
   version="1.0" encoding="UTF-8"?>¬¬ <ORD_LOCK_STAT_REQ>
   <INSTANCE>wmsdev02</INSTANCE> ¬ <ORDNUM>120328600-003145237</ORDNUM>
   ¬ <WH_ID>MA12</WH_ID>
   <CLIENT_ID>XPDEX</CLIENT_ID>
   </ORD_LOCK_STAT_REQ>¬¬
   Whis is it writing the "R" in front of the xml in the IFS?????1 H
   BNDDIR('HTTPAPI':'QC2LE':'EXPAT')
   2 H CCSID(*UCS2:1200)
     // ----------------------------------------------
     //  Create SOAP document to tell server
     // ----------------------------------------------
    $xmlin='<?xml version="1.0" encoding="UTF-8"?>' +crlf
    +' <ORD_LOCK_STAT_REQ>' +crlf
    +'   <INSTANCE>'+%trim(instance)+'</INSTANCE>' +crlf
    +'   <ORDNUM>'+%trim(ordnum)+'</ORDNUM>' +crlf
    +'   <WH_ID>'+%trim(iwrpwh)+'</WH_ID>' +crlf
    +'   <CLIENT_ID>'+%trim(client_id)+'</CLIENT_ID>' +crlf
    +' </ORD_LOCK_STAT_REQ>' +crlf;
   soap = %trim(%trimr($xmlin));
   $Filename1 = embfile;
   length = %len(SOAP) + 2;
   fd = open(%trim($filename1)
           :O_WRONLY+O_CREAT+O_TRUNC+O_CCSID
           :S_IRGRP + S_IWGRP + S_IXGRP +
             S_IRUSR + S_IWUSR + S_IXUSR
           :819);
   callp close(fd);
    fd = open(%trim($filename1):O_WRONLY+O_TEXTDATA);
    callp write(fd:%addr(SOAP): length);
    callp close(fd);
   Donnie BarrowIT Consultant - DBarrow Consulting
   -----------------------------------------------------------------------
   This is the FTPAPI mailing list.  To unsubscribe, please go to:
   [3]http://www.scottklement.com/mailman/listinfo/ftpapi
   -----------------------------------------------------------------------

References

   1. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   2. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   3. 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
-----------------------------------------------------------------------