SQS Service Error on listing queues

I am in the process of upgrading AWS client to version 2. In the process of upgrading the Spring Boot Test with Test Containers I am having issues with the Localstack container.

07:55:23.070 [main] INFO tc.localstack/localstack:0.14.3 -- HOSTNAME_EXTERNAL environment variable set to localhost (to match host-routable address for container)
07:55:23.070 [main] INFO tc.localstack/localstack:0.14.3 -- Creating container for image: localstack/localstack:0.14.3

The container successfully starts and builds the queues.

STDOUT: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initaws.d/init.sh
STDOUT: {
STDOUT:     "QueueUrl": "http://localhost:4566/000000000000/TEST-inbound-q"
STDOUT: }
STDOUT: {
STDOUT:     "QueueUrl": "http://localhost:4566/000000000000/TEST-inbound-dlq"
STDOUT: }
STDOUT: {
STDOUT:     "QueueUrl": "http://localhost:4566/000000000000/TEST-outbound-q"
STDOUT: }
STDOUT: {
STDOUT:     "QueueUrl": "http://localhost:4566/000000000000/TEST-outbound-dlq"
STDOUT: }

Before all tests, I list the queues after building the client. I am receiving a 500 response from the container:

... Creating an interceptor chain that will apply interceptors in the following order: [software.amazon.awssdk.core.internal.interceptor.HttpChecksumValidationInterceptor@221c097f, software.amazon.awssdk.awscore.interceptor.HelpfulUnknownHostExceptionInterceptor@7f3aa737, software.amazon.awssdk.awscore.eventstream.EventStreamInitialRequestInterceptor@1428d63, software.amazon.awssdk.awscore.interceptor.TraceIdExecutionInterceptor@34bcdc9f, software.amazon.awssdk.services.sqs.endpoints.internal.SqsResolveEndpointInterceptor@76296c86, software.amazon.awssdk.services.sqs.endpoints.internal.SqsRequestSetEndpointInterceptor@5c807e6b, software.amazon.awssdk.services.sqs.internal.MessageMD5ChecksumInterceptor@49bcd90d]
... Interceptor 'software.amazon.awssdk.services.sqs.endpoints.internal.SqsRequestSetEndpointInterceptor@5c807e6b' modified the message with its modifyHttpRequest method.
... Old: DefaultSdkHttpFullRequest(httpMethod=POST, protocol=http, host=127.0.0.1, port=62859, encodedPath=/, headers=[Content-Length, Content-Type, X-Amz-Target], queryParameters=[])
New: DefaultSdkHttpFullRequest(httpMethod=POST, protocol=http, host=127.0.0.1, port=62859, encodedPath=/, headers=[Content-Length, Content-Type, X-Amz-Target], queryParameters=[])
... Sending Request: DefaultSdkHttpFullRequest(httpMethod=POST, protocol=http, host=127.0.0.1, port=62859, encodedPath=/, headers=[amz-sdk-invocation-id, Content-Length, Content-Type, User-Agent, X-Amz-Target], queryParameters=[])
... Specified InputStream length of 2 has been reached. Returning EOF.
... AWS4 Canonical Request: POST
/

amz-sdk-invocation-id:aad670be-2917-1aaf-4dd2-54942451de95
amz-sdk-request:attempt=1; max=4
content-length:2
content-type:application/x-amz-json-1.0
host:127.0.0.1:62859
x-amz-date:20231206T145549Z
x-amz-target:AmazonSQS.ListQueues

amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-date;x-amz-target
44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
... AWS4 String to sign: AWS4-HMAC-SHA256
20231206T145549Z
20231206/us-east-1/sqs/aws4_request
6244a706e9657a6bc562cdb8162b12d2dc8fffe73707942ff1d356d0c981afee
... Generating a new signing key as the signing key not available in the cache for the date: 1701874549551
... NoSuchMethodException was thrown when disabling normalizeUri. This indicates you are using an old version (< 4.5.8) of Apache http client. It is recommended to use http client version >= 4.5.9 to avoid the breaking change introduced in apache client 4.5.7 and the latency in exception handling. See https://github.com/aws/aws-sdk-java/issues/1919 for more information
... Received failed response: 500, Request ID: not available, Extended Request ID: not available
... Received failed response: 500, Request ID: not available, Extended Request ID: not available
... Successfully acquired token bucket capacity to retry this request. Acquired: 5. Remaining: 495
... Retryable error detected. Will retry in 45ms. Request attempt number 2
software.amazon.awssdk.services.sqs.model.SqsException: Service returned HTTP status code 500 (Service: Sqs, Status Code: 500, Request ID: null)

STDOUT: localstack.aws.protocol.parser.ProtocolParserError: Operation detection failed. Missing Action in request for query-protocol service ServiceModel(sqs).
STDOUT: 2023-12-06T14:11:30.207:WARNING:localstack.utils.server.http2_server: Error in proxy handler for request POST http://127.0.0.1:55243/: Operation detection failed. Missing Action in request for query-protocol service ServiceModel(sqs). Traceback (most recent call last):

I have a publish only microservice successfully converted. This microservice is a consumer/publisher and the only difference is this service statically started the container rather than using the @Container annotation to start the container.

Hi @cobar79,

Please consider using the latest release of LocalStack or at least the latest tagged version. If the issue persists, please let us know.

docker pull localstack/localstack-pro:latest
docker pull localstack/localstack-pro:3.0.2

You can find the release log at Releases ยท localstack/localstack (github.com).