Jan S created CAMEL-14979:
-----------------------------

             Summary: aws2-sqs: Polling fails because of "host must not be null"
                 Key: CAMEL-14979
                 URL: https://issues.apache.org/jira/browse/CAMEL-14979
             Project: Camel
          Issue Type: Bug
          Components: camel-aws2
    Affects Versions: 3.2.0, 3.1.0
            Reporter: Jan S
         Attachments: aws2-sqs-example.zip

First of all: I attached a demo-project to the issue to reproduce the problem.

What am I doing:
Polling messages from AWS-SQS FIFO queues in a spring-boot 2 environment with 
java 11, using camel-aws2-sqs-starter.

I started with version 3.0.1 and the aws-sqs component, the configuration was 
fine, up and running. 

Since I switched to camel 3.1.0/3.2.0 and aws2-sqs component I receive the 
following error:

 
{code:java}
 Caused by: [software.amazon.awssdk.core.exception.SdkClientException - Unable 
to marshall request to JSON: host must not be 
null.]software.amazon.awssdk.core.exception.SdkClientException: Unable to 
marshall request to JSON: host must not be null.
        at 
software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:98)
 ~[sdk-core-2.11.5.jar:na]
        at 
software.amazon.awssdk.services.sqs.transform.ReceiveMessageRequestMarshaller.marshall(ReceiveMessageRequestMarshaller.java:52)
 ~[sqs-2.11.5.jar:na]
        at 
software.amazon.awssdk.services.sqs.transform.ReceiveMessageRequestMarshaller.marshall(ReceiveMessageRequestMarshaller.java:31)
 ~[sqs-2.11.5.jar:na]
        at 
software.amazon.awssdk.core.internal.handler.BaseClientHandler.finalizeSdkHttpFullRequest(BaseClientHandler.java:68)
 ~[sdk-core-2.11.5.jar:na]
        at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:131)
 ~[sdk-core-2.11.5.jar:na]
        at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:101)
 ~[sdk-core-2.11.5.jar:na]
        at 
software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
 ~[sdk-core-2.11.5.jar:na]
        at 
software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:55)
 ~[aws-core-2.11.5.jar:na]
        at 
software.amazon.awssdk.services.sqs.DefaultSqsClient.receiveMessage(DefaultSqsClient.java:1046)
 ~[sqs-2.11.5.jar:na]
        at 
org.apache.camel.component.aws2.sqs.Sqs2Consumer.poll(Sqs2Consumer.java:99) 
~[camel-aws2-sqs-3.2.0.jar:3.2.0]
        at 
org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187)
 ~[camel-support-3.2.0.jar:3.2.0]
        at 
org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:106)
 ~[camel-support-3.2.0.jar:3.2.0]
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
 ~[na:na]
        at 
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) 
~[na:na]
        at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
 ~[na:na]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
 ~[na:na]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
 ~[na:na]
        at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]
Caused by: java.lang.NullPointerException: host must not be null.
        at 
software.amazon.awssdk.utils.Validate.paramNotNull(Validate.java:117) 
~[utils-2.11.5.jar:na]
        at 
software.amazon.awssdk.http.DefaultSdkHttpFullRequest.<init>(DefaultSdkHttpFullRequest.java:53)
 ~[http-client-spi-2.11.5.jar:na]
        at 
software.amazon.awssdk.http.DefaultSdkHttpFullRequest.<init>(DefaultSdkHttpFullRequest.java:41)
 ~[http-client-spi-2.11.5.jar:na]
        at 
software.amazon.awssdk.http.DefaultSdkHttpFullRequest$Builder.build(DefaultSdkHttpFullRequest.java:331)
 ~[http-client-spi-2.11.5.jar:na]
        at 
software.amazon.awssdk.http.DefaultSdkHttpFullRequest$Builder.build(DefaultSdkHttpFullRequest.java:170)
 ~[http-client-spi-2.11.5.jar:na]
        at 
software.amazon.awssdk.protocols.query.internal.marshall.QueryProtocolMarshaller.marshall(QueryProtocolMarshaller.java:68)
 ~[aws-query-protocol-2.11.5.jar:na]
        at 
software.amazon.awssdk.protocols.query.internal.marshall.QueryProtocolMarshaller.marshall(QueryProtocolMarshaller.java:31)
 ~[aws-query-protocol-2.11.5.jar:na]
        at 
software.amazon.awssdk.services.sqs.transform.ReceiveMessageRequestMarshaller.marshall(ReceiveMessageRequestMarshaller.java:50)
 ~[sqs-2.11.5.jar:na]
        ... 16 common frames omitted

{code}
 

I tried to find solutions using 
[https://camel.apache.org/camel-spring-boot/latest/aws2-sqs-starter.html] and 
had a short chat with [~acosentino].

For the demo project to run you'll need to fill in 
"camel.component.aws2-sqs.access-key",  "camel.component.aws2-sqs.secret-key" 
and a ARN "com.example.arn" of your FIFO-queue. All keys are found in the 
application.properties file.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to