KB Article #177944

Extra characters in HTTP/1.1 body cause issues for external system

Problem

* Extra characters in an HTTP/1.1 request are causing issues for an external system. For example, the 1e and 0 characters in the sample request below:

HTTP/1.1 200 OK
Date: Sun, 01 May 2016 00:00:00 GMT
Server:
Transfer-Encoding: chunked
Connection: close
X-CorrelationID: Id-000000000000000000000000 0
Host: localhost:8080
User-Agent: Gateway
Content-Type: application/json; charset="utf-8"



1e
{"Login":"1234","Test":"Test"}
0

Resolution

- Any issues with this are due to a failure to properly support HTTP/1.1 by the other system. As can be seen in the Transfer-Encoding: chunked header, this connection is using chunked transfer encoding. Support for this encoding is mandatory in HTTP/1.1 according to RFC 2616, section 3.6.1, which says:


   All HTTP/1.1 applications MUST be able to receive and decode the
   "chunked" transfer-coding, and MUST ignore chunk-extension extensions
   they do not understand.


If the other application cannot process HTTP/1.1 content, you may be able to work around this by falling back to HTTP/1.0. This can be accomplished by changing the remote host for that endpoint to disable the use HTTP/1.1 checkbox. Older versions of the gateway sent HTTP/1.1 by default. On those versions, you would have to create a remote host for the endpoint and then configure the remote host to send HTTP/1.0 to that host.