Yet another problem is that the exception is thrown even though I am passing 
option  throwExceptionOnFailure=false
I hope somebody can help me figure out what I am doing wrong.

Best regards,
Alex soto



> On Nov 30, 2017, at 9:22 AM, Alex Soto <alex.s...@envieta.com> wrote:
> 
> Hello,
> 
> I am using Camel 2.17.4, I have a route initiating a request/response  
> netty4-http call:
> 
> <to 
> uri="netty4-http:{{oozie.service.url}}/jobs?action=start&amp;headerFilterStrategy=#headerFilter&amp;throwExceptionOnFailure=false&amp;synchronous=true"/>
> <camel:convertBodyTo type="String"/>
> <log message="Oozie Response: ${body}"/>
> 
> First problem is that the synchronous=true is passed as query parameter to 
> the remote server, when it should be used to configure the endpoint.
> 
> 2017-11-30 09:01:07,921 | DEBUG | yClientTCPWorker | 51 - 
> org.apache.camel.camel-netty4 - 2.17.4 | Channel: [id: 0x5d15a2da, 
> L:/192.168.56.1:56875 - R:quickstart.cloudera/192.168.56.101:11000] writing 
> body: DefaultFullHttpRequest(decodeResult: success, version: HTTP/1.1, 
> content: UnpooledUnsafeNoCleanerDirectByteBuf(ridx: 0, widx: 1714, cap: 1714))
> POST 
> http://quickstart.cloudera:11000/oozie/v2/jobs?action=start&synchronous=true 
> <http://quickstart.cloudera:11000/oozie/v2/jobs?action=start&synchronous=true>
>  HTTP/1.1
> Content-Length: 1714
> Content-Type: application/xml
> Host: quickstart.cloudera:11000
> Connection: keep-alive
> 
> Second problem is that even though the server is actually responding, I am 
> getting asynchronous error:
> 
> 2017-11-30 09:01:08,359 | DEBUG | yClientTCPWorker | 49 - 
> org.apache.camel.camel-core - 2.17.4 | Http responseCode: 201
> 2017-11-30 09:01:08,361 | INFO  | pool-50-thread-1 | 49 - 
> org.apache.camel.camel-core - 2.17.4 | 
> ID-Alexs-Laptop-local-56143-1512049637396-7-2 >>> (submitSparkQueriesWF) 
> convertBodyTo[String] --> log[Oozie Response: ${body}] <<<, 
> Headers:{CamelHttpResponseCode=201, CamelHttpResponseText=Created, 
> Content-Type=application/json;charset=UTF-8}, BodyType:String, 
> Body:{"id":"0000002-171129163622279-oozie-oozi-W"}
> 2017-11-30 09:01:08,362 | INFO  | pool-50-thread-1 | 49 - 
> org.apache.camel.camel-core - 2.17.4 | Oozie Response: 
> {"id":"0000002-171129163622279-oozie-oozi-W”}
> 
> Some time later, I get error:
> 
> 2017-11-30 09:02:08,375 | ERROR | pool-50-thread-1 | 49 - 
> org.apache.camel.camel-core - 2.17.4 | Failed delivery for (MessageId: 
> ID-Alexs-Laptop-local-56143-1512049637396-7-4 on ExchangeId: 
> ID-Alexs-Laptop-local-56143-1512049637396-7-2). Exhausted after delivery 
> attempt: 1 caught: org.apache.camel.CamelExchangeException: No response 
> received from remote server: quickstart.cloudera:11000. 
> Exchange[ID-Alexs-Laptop-local-56143-1512049637396-7-2]
> ...
> Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> org.apache.camel.CamelExchangeException: No response received from remote 
> server: quickstart.cloudera:11000. 
> Exchange[ID-Alexs-Laptop-local-56143-1512049637396-7-2]
>       at 
> org.apache.camel.component.netty4.handlers.ClientChannelHandler.channelInactive(ClientChannelHandler.java:130)[51:org.apache.camel.camel-netty4:2.17.4]
>       at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)[32:io.netty.transport:4.0.43.Final]
> 
> Notice the error occurs in a different thread.
> I don’t know why this error is occurring because there is a response,  and 
> why is it not handling the exchange synchronous ?
> 
> 
> Best regards,
> Alex soto
> 
> 
> 

Reply via email to