Hi, you need a blank before xmlns:soapenv and xmlns:weat. SOAP = '<?xml version="1.0"?>' +'<soapenv:Envelope' +' xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ <http://schemas.xmlsoap.org/soap/envelope/> "' +' xmlns:weat:"http://ws.cdyne.com/WeatherWS/ <http://ws.cdyne.com/WeatherWS/> ">' +' <soapenv:Header/>' +' <soapenv:Body>' +' <weat:GetCityForecastByZIP>' +' <weat:ZIP>90210</weat:ZIP>' +' </weat:GetCityForecastByZIP>' +' </soapenv:Body>' +'</soapenv:Envelope>'; Best regards Magne ________________________________ Fra: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx på vegne av PReid@xxxxxxxxxxxx Sendt: to 03.01.2013 22:50 Til: ftpapi@xxxxxxxxxxxxxxxxxxxxxx Emne: EXAMPLE16 - HTTP/1.1 400 Bad Request Hello everyone. In an effort to try and teach myself how to use HTTPAPI to make a SOAP request, I have modified EXAMPLE16 to attempt to retrieve the weather for a given zip code. Unfortunately I cannot seem to get it to work, and I have no idea what is wrong. It is a very short program so I'd like to ask for you to have a look and see if you can see anything wrong with it. I've been trying to get it to work all afternoon. Any help would be greatly appreciated. Thanks! The WSDL for this simple Web Service is: http//wsf.cdyne.com/WeatherWS/Weather.asmx Here is my program: H BNDDIR('HTTPAPI':'QC2LE') *-------------------------------------------------------------------------------------------------------* * This is an example of calling a SOAP Web service w/HTTPAPI. * * Originally Scott's EXAMPLE16 * *-------------------------------------------------------------------------------------------------------* D XAMPLE16 PR ExtPgm('XAMPLE16') D XAMPLE16 PI * /copy 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 65535A 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 SUCCESS... D S 3A inz('No ') * /free http_debug(*ON); http_XmlStripCRLF(*ON); SOAP = '<?xml version="1.0"?>' +'<soapenv:Envelope' +'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"' +'xmlns:weat:"http://ws.cdyne.com/WeatherWS/">' +' <soapenv:Header/>' +' <soapenv:Body>' +' <weat:GetCityForecastByZIP>' +' <weat:ZIP>90210</weat:ZIP>' +' </weat:GetCityForecastByZIP>' +' </soapenv:Body>' +'</soapenv:Envelope>'; http_debug(*ON); rc = http_url_post_xml( 'http://wsf.cdyne.com/WeatherWS/Weather.asmx' : %addr(SOAP) + 2 : %len(SOAP) : *NULL : %paddr(Incoming) : %addr(rate) : HTTP_TIMEOUT : HTTP_USERAGENT : 'text/xml' : 'http://ws.cdyne.com/WeatherWS/GetCityForecastByZIP'); if (rc <> 1); http_crash(); else; SUCCESS = 'Yes'; endif; *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 65535A varying const D attrs * dim(32767) D const options(*varsize) * D atof PR 8F extproc('atof') D string * value options(*string) * /free if (name = 'ConversionRateResult'); rate = atof(value); endif; /end-free P E I'm also attaching httpapi_debug.txt from /tmp HTTPAPI Ver 1.24 released 2012-01-23 OS/400 Ver V6R1M0 http_persist_open(): entered http_long_ParseURL(): entered DNS resolver retrans: 2 DNS resolver retry : 2 DNS resolver options: x'00000136' DNS default domain: ERBGROUP.COM DNS server found: 192.168.2.6 DNS server found: 216.171.96.38 DNS server found: 216.16.248.50 http_persist_post(): entered http_persist_req(POST) entered. http_long_ParseURL(): entered do_oper(POST): entered There are 0 cookies in the cache POST /WeatherWS/Weather.asmx HTTP/1.1 Host: wsf.cdyne.com User-Agent: http-api/1.24 Content-Type: text/xml SOAPAction: http://ws.cdyne.com/WeatherWS/GetCityForecastByZIP Content-Length: 315 senddoc(): entered <?xml version="1.0"?><soapenv:Envelopexmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"xmlns:weat:" http://ws.cdyne.com/WeatherWS/"> <soapenv:Header/> <soapenv:Body> <weat:GetCityForecastByZIP> <weat:ZIP>90210</weat:ZIP> </weat:GetCityForecastByZIP> </soapenv:Body></soapenv:Envelope> recvresp(): entered HTTP/1.1 400 Bad Request Cache-Control: private Server: Microsoft-IIS/7.5 X-AspNet-Version: 2.0.50727 X-Powered-By: ASP.NET Date: Thu, 03 Jan 2013 21:39:08 GMT Content-Length: 0 SetError() #13: HTTP/1.1 400 Bad Request recvresp(): end with 400 recvdoc parms: identity 0 header_load_cookies() entered recvdoc(): entered SetError() #0: SetError() #13: HTTP/1.1 400 Bad Request http_close(): entered ___________________________________________________________ Paul Reid Application Developer III Erb Group of Companies | 290 Hamilton Road | New Hamburg, Ontario | N3A 1A2 Phone: 519.662.6133 ext. 2363 Web: http://www.erbgroup.com/
<<winmail.dat>>
----------------------------------------------------------------------- This is the FTPAPI mailing list. To unsubscribe, please go to: http://www.scottklement.com/mailman/listinfo/ftpapi -----------------------------------------------------------------------