You will need to ask on the camel mailinglist as this is a camel question and not a netty question. Netty itself does not close anything, it only does what the user of it tells it, which seems to be camel here.
> On 20. Jul 2017, at 15:28, [email protected] wrote: > > We are having akka - camel - netty environment, while communicating with the > host, akka default dispacher sends multiple requests to the host. > For example akka-default-dispacher-1 sends two requests Request1 and Request2. > > The Problem: The host is a standard banking service provider and sends 500 > status code when it wants to send error response to the client along with the > SOAP response message. > > The response is then interpreted in the following fashion: > if (errorCause instanceof NettyHttpOperationFailedException) { > NettyHttpOperationFailedException exception = > (NettyHttpOperationFailedException) error.getCause(); > if (exception != null) { > Integer statusCode = > exception.getStatusCode(); > if (statusCode != null && statusCode == > 500) { > errorFlag = true; > HttpResponse httpResponse = > (HttpResponse) exception.getResponse(); > if (httpResponse != null) { > ChannelBuffer > responseBuffer = httpResponse.getContent(); > final byte[] body = > responseBuffer.array(); > String errorBody = new > String(body); > } > } > } > } > > When host responds with http status 500 for Request1, netty supposedly closes > the channel and the response for Request2 is not collected. > > As a solution to this we found two methods to override this behaviour: > 1. Set the throwExceptionOnFailure to false (true by default), so that netty > does not do any error handling and response for Request2 is captured. > 2.Set okStatusCodeRange=200-500, so that 500 response is not considered as > error response and netty error handling for 500 is supressed. > > However, both the above approaches have their own flaws, for instance if we > receive http response 400 or 404 or 405 for approach (2), they will be > considered as good responses and will not be handled. > > Desired approach: Netty should not close channel when it receives 500 > response Or There should be a provision to suppress specific http response > code and not the entire range. > Or any other approach or configuration that can done to resolve the above > issue. > > > > -- > You received this message because you are subscribed to the Google Groups > "Netty discussions" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/netty/c6b6d720-f883-413d-b10d-1dafe7b2a21c%40googlegroups.com > > <https://groups.google.com/d/msgid/netty/c6b6d720-f883-413d-b10d-1dafe7b2a21c%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "Netty discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/netty/7394501B-3AD0-46EE-BB04-25421BC700C1%40googlemail.com. For more options, visit https://groups.google.com/d/optout.
