I'm looking at this extension to integrate with a legacy system that uses XML over HTTP. Our other applications appear to be making a socket connection to the IP/port of our integration layer server and then sending the information below.
POST /IntegrationLayerServlet/invoke HTTP/1.1Connection: Keep-AliveAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*Referer: https://{IP}/IntegrationLayerServlet/test.htmlAccept-Language: en-usContent-Type: application/x-www-form-urlencodedUA-CPU: x86Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)Host: {IP:Port}Pragma: no-cacheContent-Length:247XML=<XML></XML>%0D%0A
However whenever I try to send the same data using Ardo
HTTP I get the following response. I get status OK and code 200 but then this message.
<IntLayer><Error><Message>No XML request specified in input parameters</Message><Detail></Detail></Error></IntLayer>
In the HTTPPost module I have the URL set as the IP and port. The Data is set as the information in bold above. I don't see where our current applications send any header information but the data is returned, so I left the headers blank. Any suggestions?
Josh,
Everything above the XML=... line should be added to the headers, not the data. There's an HTTPHeader structure in arloHTTP, so you would want to create a local variable as a list of HTTPHeader, then add an item to that list for every line above XML=...
I got it working yesterday, I just forgot to come back and update the ticket. Very, very useful HTTP tool!