You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Jan S (Jira)" <ji...@apache.org> on 2020/04/28 15:11:00 UTC

[jira] [Created] (CAMEL-14979) aws2-sqs: Polling fails because of "host must not be null"

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)