You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Vyacheslav Boyko <ma...@gmail.com> on 2022/10/26 11:48:54 UTC

Exception while collecting the response of http call used in recipient list EIP

Hello.

Please help to understand why does the exception occur?

My rout could be simplified to

from("seda://notification-pool?concurrentConsumers=500")
.process(exchange -> exchange.setProperty(WEBHOOK_URL, getWebhookUrl(exchange)))
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
.process(exchange ->
         exchange.getIn().setHeader(Constants.RECIPIENTS,
                 Collections.singleton(format("%s?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30", exchange.getProperty(WEBHOOK_URL)))))
.process(exchange ->log.info("RECIPIENT LIST: " + exchange.getIn().getHeader(Constants.RECIPIENTS)))
.recipientList(header(Constants.RECIPIENTS))

And I have an exception:

java.net.SocketTimeoutException: Read timed out
     at java.base/java.net.SocketInputStream.socketRead0(Native Method)
     at java.base/java.net.SocketInputStream.socketRead(Unknown Source)
     at java.base/java.net.SocketInputStream.read(Unknown Source)
     at java.base/java.net.SocketInputStream.read(Unknown Source)
     at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown Source)
     at 
java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
     at 
java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown 
Source)
     at 
java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown 
Source)
     at 
java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)
     at 
org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
     at 
org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
     at 
org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
     at 
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
     at 
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
     at 
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
     at 
org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
     at 
org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
     at 
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
     at 
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
     at 
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
     at 
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
     at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
     at 
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
     at 
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
     at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
     at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
     at 
org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:447)
     at 
org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:275)
     at 
org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66)
     at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:812)
     at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:720)
     at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:187)
     at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
     at org.apache.camel.processor.Pipeline.process(Pipeline.java:184)
     at 
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:399)
     at 
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:269)
     at 
org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:187)
     at 
org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:130)
     at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
     at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
     at java.base/java.lang.Thread.run(Unknown Source)


The log is:

RECIPIENT LIST: 
[https://test.my-domain.com/pushNotificationPayment?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30]

The fact is webhook is being delivered successfully despite of having 
this exception.

And when I use CURL to check webhook URL on data acceptance, it returns 
meaningful body. Seems only Camel could not read the answer.

Why?

-- 
Vyacheslav Boyko
mailto:mail4bvn@gmail.com

Re: Exception while collecting the response of http call used in recipient list EIP

Posted by ski n <ra...@gmail.com>.
No problem, such thing happen

If possible, you may try to simplify the Camel route. Something like this
(pseudocode):

from("seda://notification-pool?concurrentConsumers=500")
 .setHeader(Exchange.CONTENT_TYPE).constant("application/json")
 .setProperty("WEBHOOK_URL", getWebhookUrl(exchange))
 .setHeader("RECIPIENTS").simple("${header.WEBHOOK_URL}?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30&httpMethod=POST")
  .log("RECIPIENT LIST: " + header.RECIPIENTS)))
  .recipientList(header(Constants.RECIPIENTS));

or put the logic in a separate processor:

from("seda://notification-pool?concurrentConsumers=500")
    .process(new CreateRecipientsProcessor())
   .recipientList(header(Constants.RECIPIENTS));

Raymond




On Wed, Oct 26, 2022 at 2:19 PM Vyacheslav Boyko <ma...@gmail.com> wrote:

> My bad, timeouts were the cause.
>
> On 10/26/22 14:48, Vyacheslav Boyko wrote:
> >
> > Hello.
> >
> > Please help to understand why does the exception occur?
> >
> > My rout could be simplified to
> >
> > from("seda://notification-pool?concurrentConsumers=500")
> > .process(exchange -> exchange.setProperty(WEBHOOK_URL,
> getWebhookUrl(exchange)))
> > .setHeader(Exchange.HTTP_METHOD, constant("POST"))
> > .setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
> > .process(exchange ->
> >          exchange.getIn().setHeader(Constants.RECIPIENTS,
> >
> Collections.singleton(format("%s?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30",
> exchange.getProperty(WEBHOOK_URL)))))
> > .process(exchange ->log.info("RECIPIENT LIST: " +
> exchange.getIn().getHeader(Constants.RECIPIENTS)))
> > .recipientList(header(Constants.RECIPIENTS))
> >
> > And I have an exception:
> >
> > java.net.SocketTimeoutException: Read timed out
> >     at java.base/java.net.SocketInputStream.socketRead0(Native Method)
> >     at java.base/java.net.SocketInputStream.socketRead(Unknown Source)
> >     at java.base/java.net.SocketInputStream.read(Unknown Source)
> >     at java.base/java.net.SocketInputStream.read(Unknown Source)
> >     at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown
> > Source)
> >     at
> > java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown
> Source)
> >     at
> >
> java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown
>
> > Source)
> >     at
> > java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown
> > Source)
> >     at
> > java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown
> > Source)
> >     at
> > org.apache.http.impl.io
> .SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
> >     at
> > org.apache.http.impl.io
> .SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
> >     at
> > org.apache.http.impl.io
> .SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
> >     at
> >
> org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
> >     at
> >
> org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
> >     at
> > org.apache.http.impl.io
> .AbstractMessageParser.parse(AbstractMessageParser.java:259)
> >     at
> >
> org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
> >     at
> >
> org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
> >     at
> >
> org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
> >     at
> >
> org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
> >     at
> >
> org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
> >     at
> >
> org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
> >     at
> org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
> >     at
> >
> org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
> >     at
> >
> org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
> >     at
> >
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
> >     at
> >
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
> >     at
> >
> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:447)
> >     at
> >
> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:275)
> >     at
> >
> org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66)
> >     at
> >
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:812)
> >     at
> >
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:720)
> >     at
> >
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:187)
> >     at
> >
> org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
> >     at org.apache.camel.processor.Pipeline.process(Pipeline.java:184)
> >     at
> >
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:399)
> >     at
> >
> org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:269)
> >     at
> > org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:187)
> >     at
> > org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:130)
> >     at
> > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
> > Source)
> >     at
> > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
> > Source)
> >     at java.base/java.lang.Thread.run(Unknown Source)
> >
> >
> > The log is:
> >
> > RECIPIENT LIST:
> > [
> https://test.my-domain.com/pushNotificationPayment?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30
> ]
> >
> > The fact is webhook is being delivered successfully despite of having
> > this exception.
> >
> > And when I use CURL to check webhook URL on data acceptance, it
> > returns meaningful body. Seems only Camel could not read the answer.
> >
> > Why?
> >
> > --
> > Vyacheslav Boyko
> > mailto:mail4bvn@gmail.com
>
> --
> Vyacheslav Boyko
> mailto:mail4bvn@gmail.com
>

Re: Exception while collecting the response of http call used in recipient list EIP

Posted by Vyacheslav Boyko <ma...@gmail.com>.
My bad, timeouts were the cause.

On 10/26/22 14:48, Vyacheslav Boyko wrote:
>
> Hello.
>
> Please help to understand why does the exception occur?
>
> My rout could be simplified to
>
> from("seda://notification-pool?concurrentConsumers=500")
> .process(exchange -> exchange.setProperty(WEBHOOK_URL, getWebhookUrl(exchange)))
> .setHeader(Exchange.HTTP_METHOD, constant("POST"))
> .setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
> .process(exchange ->
>          exchange.getIn().setHeader(Constants.RECIPIENTS,
>                  Collections.singleton(format("%s?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30", exchange.getProperty(WEBHOOK_URL)))))
> .process(exchange ->log.info("RECIPIENT LIST: " + exchange.getIn().getHeader(Constants.RECIPIENTS)))
> .recipientList(header(Constants.RECIPIENTS))
>
> And I have an exception:
>
> java.net.SocketTimeoutException: Read timed out
>     at java.base/java.net.SocketInputStream.socketRead0(Native Method)
>     at java.base/java.net.SocketInputStream.socketRead(Unknown Source)
>     at java.base/java.net.SocketInputStream.read(Unknown Source)
>     at java.base/java.net.SocketInputStream.read(Unknown Source)
>     at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown 
> Source)
>     at 
> java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
>     at 
> java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown 
> Source)
>     at 
> java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown 
> Source)
>     at 
> java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown 
> Source)
>     at 
> org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
>     at 
> org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
>     at 
> org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
>     at 
> org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
>     at 
> org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
>     at 
> org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
>     at 
> org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
>     at 
> org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
>     at 
> org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
>     at 
> org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
>     at 
> org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
>     at 
> org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
>     at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
>     at 
> org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
>     at 
> org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
>     at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
>     at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
>     at 
> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:447)
>     at 
> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:275)
>     at 
> org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66)
>     at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:812)
>     at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:720)
>     at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:187)
>     at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
>     at org.apache.camel.processor.Pipeline.process(Pipeline.java:184)
>     at 
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:399)
>     at 
> org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:269)
>     at 
> org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:187)
>     at 
> org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:130)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown 
> Source)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
> Source)
>     at java.base/java.lang.Thread.run(Unknown Source)
>
>
> The log is:
>
> RECIPIENT LIST: 
> [https://test.my-domain.com/pushNotificationPayment?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30]
>
> The fact is webhook is being delivered successfully despite of having 
> this exception.
>
> And when I use CURL to check webhook URL on data acceptance, it 
> returns meaningful body. Seems only Camel could not read the answer.
>
> Why?
>
> -- 
> Vyacheslav Boyko
> mailto:mail4bvn@gmail.com

-- 
Vyacheslav Boyko
mailto:mail4bvn@gmail.com

Re: Exception while collecting the response of http call used in recipient list EIP

Posted by Vyacheslav Boyko <ma...@gmail.com>.
Camel version 3.15.0

On 10/26/22 14:48, Vyacheslav Boyko wrote:
>
> Hello.
>
> Please help to understand why does the exception occur?
>
> My rout could be simplified to
>
> from("seda://notification-pool?concurrentConsumers=500")
> .process(exchange -> exchange.setProperty(WEBHOOK_URL, getWebhookUrl(exchange)))
> .setHeader(Exchange.HTTP_METHOD, constant("POST"))
> .setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
> .process(exchange ->
>          exchange.getIn().setHeader(Constants.RECIPIENTS,
>                  Collections.singleton(format("%s?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30", exchange.getProperty(WEBHOOK_URL)))))
> .process(exchange ->log.info("RECIPIENT LIST: " + exchange.getIn().getHeader(Constants.RECIPIENTS)))
> .recipientList(header(Constants.RECIPIENTS))
>
> And I have an exception:
>
> java.net.SocketTimeoutException: Read timed out
>     at java.base/java.net.SocketInputStream.socketRead0(Native Method)
>     at java.base/java.net.SocketInputStream.socketRead(Unknown Source)
>     at java.base/java.net.SocketInputStream.read(Unknown Source)
>     at java.base/java.net.SocketInputStream.read(Unknown Source)
>     at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown 
> Source)
>     at 
> java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
>     at 
> java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown 
> Source)
>     at 
> java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown 
> Source)
>     at 
> java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown 
> Source)
>     at 
> org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
>     at 
> org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
>     at 
> org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
>     at 
> org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
>     at 
> org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
>     at 
> org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
>     at 
> org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
>     at 
> org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
>     at 
> org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
>     at 
> org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
>     at 
> org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
>     at 
> org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
>     at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
>     at 
> org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
>     at 
> org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
>     at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
>     at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
>     at 
> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:447)
>     at 
> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:275)
>     at 
> org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66)
>     at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:812)
>     at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:720)
>     at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:187)
>     at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
>     at org.apache.camel.processor.Pipeline.process(Pipeline.java:184)
>     at 
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:399)
>     at 
> org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:269)
>     at 
> org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:187)
>     at 
> org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:130)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown 
> Source)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
> Source)
>     at java.base/java.lang.Thread.run(Unknown Source)
>
>
> The log is:
>
> RECIPIENT LIST: 
> [https://test.my-domain.com/pushNotificationPayment?exchangePattern=InOut&connectTimeout=30&connectionRequestTimeout=30]
>
> The fact is webhook is being delivered successfully despite of having 
> this exception.
>
> And when I use CURL to check webhook URL on data acceptance, it 
> returns meaningful body. Seems only Camel could not read the answer.
>
> Why?
>
> -- 
> Vyacheslav Boyko
> mailto:mail4bvn@gmail.com

-- 
Vyacheslav Boyko
mailto:mail4bvn@gmail.com