I have just happened to call a third-party webservice (cf.my other question) and the "WebClientLogFile" output shows that the request was successfully answered with a HTTP 200 OK response (within < 1 s response time).
However, a few seconds later the client connection is lost with a -85 SQLCODE error because the engine crashes.
This has been tested with 220.127.116.1114 and 18.104.22.1688. I'm using http, so not https/certificates are involved.
What can I do to further diagnose the issue?
The request's XML response should be written to an output file immediately after the web client function is called, but that step never happens.
I tried with an without a keep-alive-timeout but that seems not to matter, either.
Bad News/Good News
Bad News: It appears to be a bug. Good News: It seems probable that you should also be able to avoid the crash by disabling WebClientLogging (ie. -zoc), in addition to removing chunky data, but you'll want to test for that.
I will bring this up with development to address shortly
answered 02 Feb '16, 15:01
Nick Elson S...
Well, this is not a real answer to my question...
After further testing I noticed - rather accidentally - that using CHUNK=OFF prevented the database engine from crashing while processing the web client call...
create function WSF_StartRequest(XmlPayload long nvarchar) returns xml url 'http://...' type 'HTTP:POST:text/xml' header 'SOAPAction:"urn:StartRequest"' set 'HTTP(VERSION=1.1;CHUNK=OFF)';
The request does not use chunked mode anymore (whereas so far it has done so because the contents is usually somewhat bigger than the 8196 bytes limit used with the default "AUTO" chunk setting). The response, however, does use chunked mode as before but now the engine seems to be able to handle the result accordingly. - I don't know why this makes a difference but at least it's no show-stopper anymore.
answered 01 Feb '16, 04:13