### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Starting the localstack docker using the elasticmq SQS backend results in not being able to send any messages.  Appears to work fine in 0.12.17

### Expected Behavior

Messages should send fine.

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

Run docker with:
```
docker run --rm -it -p 4566:4566 --env SERVICES=sqs --env SQS_PROVIDER=elasticmq --env DEBUG=1 localstack/localstack:0.12.18
```
Execute a simple SQS send:
```
AWS_ACCESS_KEY_ID=x AWS_SECRET_ACCESS_KEY=y aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name foo && aws --endpoint-url=http://localhost:4566 sqs send-message --queue-url "http://localhost:4658/000000000000/foo" --message-body foo
```
results in failure:
```
Unable to parse response (not well-formed (invalid token): line 1, column 0), invalid XML received. Further retries may succeed:
b'{}'
```

### Environment

```markdown
- OS: macOS 11.6
- LocalStack: 0.12.18
```


### Anything else?

I'm pretty sure that commit e38778888534cb6d98f27edaf5af76c1e1d29e06 broke the functionality.  I _think_ the `_process_sent_message` function is assuming something about the response that just isn't true, but I haven't gotten any further in my analysis.

Also, I need to use elasticmq because the moto implementation is just not fast enough.  We've been using an older release (0.11.3), using elasticmq, and I can send and receive 10,000 2K bodies in about 25 seconds, but using 0.12.18 and moto I can only send about 1200 and receive about 450 in those 25 seconds, and the slowdown just isn't acceptable for our integration tests.
content_str,
            )
            
            content_str = re.sub(
                r"<([a-zA-Z0-9]+)>\s*arn:aws:sqs:elasticmq:([^<]+)</([a-zA-Z0-9]+)>",
                r"<\1>arn:aws:sqs:%s:\2</\3>" % region_name,
                content_str,
            )
            if action == "CreateQueue":
                regex = r".*<QueueUrl>(.*)</QueueUrl>"
                queue_url = re.match(regex, content_str, re.DOTALL).group(1)
                if SQS_BACKEND_IMPL == "elasticmq":
                    _set_queue_attributes(queue_url, req_data)
        elif action == "SendMessageBatch":
            if validate_empty_message_batch(data, req_data):
                msg = "There should be at least one SendMessageBatchRequestEntry in the request."
                return make_requests_error(code=404, code_string="EmptyBatchRequest", message=msg)
        
        if action in ("SendMessage", "SendMessageBatch"):
            _process_sent_message(path, req_data, headers, response)
        if content_str_original != content_str:
            
            response.headers["Content-Length"] = len(content_str)
            response.headers["x-amz-crc32"] = calculate_crc32(content_str)
            return requests_response(
                content_str, headers=response.headers, status_code=response.status_code
            )
    @classmethod
    
    def get_message_attributes_md5(cls, req_data):