tESBConsumer gives an error when request message size is to big
Hi Community, Perhaps one of you can help us out with this. I observed the following behaviour on talend job on TalendESB open studio 5.5.1r118616. We have a Talend job we published as webservice on the TalendESB runtime, here the simplified schema: tESBProviderRequest ---> tXMLMap ---> tESBConsumer ---> tXMLMap ----> tESBProviderResponse the first TXMLMAp produces a request message that is enriched with some db lookups and that we send to another webservice (tESBConsumer). The output of this TXMLMap has one element of type Document (payload), so the tESBConsumer has no message format defined (builtin). When the produced request message has a size of more than about 4000 characters, the tESBConsumer component fails with the following trace: Exception in component tESBConsumer_2 org.apache.cxf.interceptor.Fault: Connection reset at org.apache.cxf.interceptor.LoggingInInterceptor.logInputStream(LoggingInInterceptor.java:216) at org.apache.cxf.interceptor.LoggingInInterceptor.logging(LoggingInInterceptor.java:150) at org.apache.cxf.interceptor.LoggingInInterceptor.handleMessage(LoggingInInterceptor.java:79) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:845) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1624) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1513) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1318) at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56) at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:223) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ....
When the request message has less than 4000 characters, everything works fine. We think that the tESBConsumer has this limitation. Is there a way to configure the maximum size of the request message?
If we take the produced request message produced by talend (logged message) and send it directly to the webservice (with soapui for example), the ws response correctly. There is no such size limitation on the target webservice. Any idea or hint would be helpful as i am looking around for a "clean" solution for some time now.
Re: tESBConsumer gives an error when request message size is to big
Hi, thank you for responding. I actually found out were the problem was. TesbCosumer uses chunking of the request mesage when the message is bigger than 4000 chars. Our server did not support chunked message. Adding the following configuration to the runtime corrected the issue: add this line to the cfg files: client.AllowChunking = false in ...Runtime_ESBSE\container\etc org.apache.cxf.http.conduits-common.cfg Et org.apache.cxf.http.conduits-abacus.cfg In the TOS we could not find a way to make it work, as it is not possible to set client.AllowChunking = false in a esbconsumer. there is a related issue in your bugtracker: