### 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.
host = headers.get("Host", "")
    if not host:
        forwarded = headers.get("X-Forwarded-For", "").split(",")
        host = forwarded[-2] if len(forwarded) > 2 else forwarded[-1]
    if ":" in host:
        return int(host.split(":")[1])
    if not request_handler or not request_handler.proxy:
        return config.PORT_SQS
    
    
    
    return request_handler.proxy.port
def validate_empty_message_batch(data, req_data):
    data = to_str(data).split("Entries=")
    if len(data) > 1 and not req_data.get("Entries"):
        return True
    return False
def is_sqs_queue_url(url):
    path = path_from_url(url).partition("?")[0]
    return re.match(r"^/(queue|%s)/[a-zA-Z0-9_-]+$" % constants.TEST_AWS_ACCOUNT_ID, path)
class ProxyListenerSQS(PersistingProxyListener):