[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
-----------------------------------------------------------------------