### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Sending a message with body:
`"&quot;&quot;"`
is received on the consumer side with body:
`""""`

### Expected Behavior

Sending a message with body:
"&quot;&quot;"
is received on the consumer side with body:
"&quot;&quot;"

### How are you starting LocalStack?

Custom (please describe below)

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

Running localstack in docker desktop on Mac using helm chart

https://localstack.github.io/helm-charts
version 0.3.7
Image version: 0.14.3

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)



### Environment

```markdown
- OS: macOS Monterey
- LocalStack: 0.14.3
```


### Anything else?

_No response_
 request_id = ETree.SubElement(response_metadata, "RequestId")
        request_id.text = gen_amzn_requestid_long()
class EC2ResponseSerializer(QueryResponseSerializer):
    """
    The ible for the serialization of responses from services which use the
    ``ec2`` protocol (basically the EC2 service). This protocol is basically equal to the ``query`` protocol with only
    a few subtle differences.
    """
    def _serialize_error(
        self,
        error: ServiceException,
        response: HttpResponse,
        shape: StructureShape,
        operation_model: OperationModel,
        mime_type: str,
    ) -> None:
        # EC2 errors look like:
        # <Response>
        #   <Errors>
        #     <Error>
        #       <Code>InvalidInstanceID.Malformed</Code>
        #       <Message>Invalid id: "1343124"</Message>
        #     </Error>
        #   </Errors>
        #   <RequestID>12345</RequestID>
        # </Response>
        # This is different from QueryParser in that it's RequestID, not RequestId
        # and that the Error tag is in an enclosing Errors tag.
        attr = (
            {"xmlns": operation_model.metadata.get("xmlNamespace")}
            if "xmlNamespace" in operation_model.metadata
            else None
        )
        root = ETree.Element("Response", attr)
        errors_tag = ETree.SubElement(root, "Errors")
        error_tag = ETree.SubElement(errors_tag, "Error")
        self._add_error_tags(error, error_tag, mime_type)
        request_id = ETree.SubElement(root, "RequestID")
        request_id.text = gen_amzn_requestid_long()
        response.set_r_payload(o_string(pe)))
    ot: Optional[ETree.Element]):
        # The EC2 protocol does not utput sha we need 
        # b level
        if len(root) > 0:
            output_node = root[0]
            for child in output_node:
                root.append(child)
            root.remove(output_node)
        # Add the requestId here (it's not defined in the specs)
        # For the ec