• Suppressed "Connection reset by peer" warning when clients request Connection: keep-alive but an intermediary e.g. a load balancer resets the TCP connection on idle. (HTTP-164)


  • Removed incorrect handling of "Expect: 100-continue" header. (HTTP-136)


  • Fixed an AccessControlException thrown when creating HTTP messages in some circumstances. (HTTP-119)

  • Added an extra timeout to prevent threads blocking indefinitely on rare occasions when waiting for a response using the synchronous API. (HTTP-128)

  • The resource adaptor configuration property "MaxContentLength" default value has been increased from 256KB to 1024KB, and is now passed through to the transport layer. (HTTP-125)


  • Add a getRequestURI() method to HttpRequest, to expose the Request-URI exactly as it appears in the Request-Line of a request. (HTTP-122)


  • New method HttpResponse.isServerResponse() added to allow services to distinguish between responses coming from a remote server and the ones generated by the resource adaptor. Generated responses are listed in the documentation. (HTTP-91)


API and deployment changes

  • From release 2.3.0, the HTTP resource adaptor requires Java 7.

  • All SLEE component versions have been updated to 2.3.

  • The version of Netty used by the HTTP transport layer has been upgraded to 4.0.28. (HTTP-80)

New features

  • Added support for marshalling of HTTP messages into a byte array that can be serialized (e.g., stored in a CMP field). This is available through new methods added in HTTP Provider. (HTTP-22)

  • If NeedClientAuth is set, then client certificates will be retrieved from the SSL session and made available via a new method on the request event object. (HTTP-44)

Bug fixes

  • A bug fixed in the new release of Netty eliminates a race condition which meant connections were not returned to the pool on rare occasions. After a long period this could result in no connections being available. (HTTP-94)


  • Fixed a bug which caused HTTP message decoding errors under load when acting as a server. (HTTP-83)

  • Fixed a bug which leaked timer threads when a resource adaptor entity was deactivated and reactivated. (HTTP-79)

  • Added support for response content compression and decompression. These are activated by the new config properties: "AutomaticContentCompression" and "AutomaticContentDecompression". (HTTP-72)


  • RA now responds with "HTTP/1.0 400 Bad Request" to HTTP Request containing invalid version before closing the connection. Previously connection was closed without a response. (HTTP-24)

  • Add bytesRx / bytesTx client and server RA statistics representing number of bytes received and number of bytes sent respectively. (HTTP-32)

  • Eagerly end activities when corresponding connection is closed by remote peer. Previously such activities where ended lazily when a response was sent by SBB. If response was never generated such an activity would be alive until administratively removed. (HTTP-61)

  • Fixed an issue where URLs of incoming requests were being created with the IP address and port of the client rather than the server. (HTTP-62)


  • Add a new config property "BindAddresses" that allows a different bind address (network address and port combination) to be specified for each node in a cluster. It is a string property with the format "{node}address:port,{node}address:port,…​". This allows entities running on two nodes on the same host to use different ports, for example: "{101},{102}". It also allows entities running on different hosts to specify an interface to listen on that is specific to each host, for example: "{101},{102}". (HTTP-46)

  • Add a new config property "SecureBindAddresses" that works the same way as "BindAddresses", but for the HTTPS listeners. (HTTP-47)

  • Additional permissions have been added to allow keystores to be read from more locations without needing to update the security policy. The new locations are the files "http-ra.ks" and "" in the Rhino base directory (previously there was only a permission for http-ra.ks in the Rhino node directory), and anything in the "keystores" directory under Rhino base. (HTTP-59)

  • Removed the default values for ListenAddress and ListenPort from the resource adaptor configuration properties.


  • Add a new config property "NeedClientAuth". When set to true it will set the same flag on the SSL Engine for incoming HTTPS connections, meaning a valid client certificate is required to connect. (HTTP-43)


  • Fix a null pointer exception in inactive RA entities, when multiple RA entities exist. (HTTP-39)


  • If the URL used to create a request has no path (e.g. "http://localhost"), use "/" as the requested resource. This restores the behaviour of previous releases. (HTTP-37)


  • Fixed a bug that prevented response headers from being sent. (HTTP-36)

  • Fixed URL for Netty and Guava libraries in example deployment scripts. (HTTP-35)


  • The HTTP transport layer used by the resource adaptor is now implemeted using Netty. (HTTP-28)

  • Added TLS support to the HTTP RA (for both incoming and outgoing connections). (HTTP-15)

  • The packaging of the libraries and examples for the HTTP RA has been improved. (HTTP-20)

  • Incoming requests will now timeout correctly and send an error answer to the client. (HTTP-2)

  • 100 Continue responses will not be fired as events and will not end the activity; the request will remain pending until the full response arrives. (HTTP-13)

  • Renamed ReconnectTimeout configuration property to NewConnectionDelay, which is a better description of its purpose. Changed its default value from 1500ms to 100ms. (HTTP-5)

  • Changed default value of configuration property MaxDepth from 5 to 1. (HTTP-5)

  • Changed default value of configuration property MaxOutgoingConnections from 5 to 30. (HTTP-5)

  • Tracer names are no longer prefixed with "resource.<entity name>". (HTTP-8)

  • An alarm is now raised if no valid license is found when activating HTTP and SOAP RAs. (HTTP-11)

  • The HTTP load generator that was in the old Web Connectivity Pack is not included in this HTTP package. (HTTP-26)