### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When sending a "malformed" request (and empty string in a MessageAttribute) the SQS client crashes with:
```
SerializationError: failed to unmarshal error message
	status code: 500, request id: 
caused by: UnmarshalError: failed to unmarshal error message
	00000000  3c 21 64 6f 63 74 79 70  65 20 68 74 6d 6c 3e 0a  |<!doctype html>.|
00000010  3c 68 74 6d 6c 20 6c 61  6e 67 3d 65 6e 3e 0a 3c  |<html lang=en>.<|
00000020  74 69 74 6c 65 3e 35 30  30 20 49 6e 74 65 72 6e  |title>500 Intern|
00000030  61 6c 20 53 65 72 76 65  72 20 45 72 72 6f 72 3c  |al Server Error<|
00000040  2f 74 69 74 6c 65 3e 0a  3c 68 31 3e 49 6e 74 65  |/title>.<h1>Inte|
00000050  72 6e 61 6c 20 53 65 72  76 65 72 20 45 72 72 6f  |rnal Server Erro|
00000060  72 3c 2f 68 31 3e 0a 3c  70 3e 54 68 65 20 73 65  |r</h1>.<p>The se|
00000070  72 76 65 72 20 65 6e 63  6f 75 6e 74 65 72 65 64  |rver encountered|
00000080  20 61 6e 20 69 6e 74 65  72 6e 61 6c 20 65 72 72  | an internal err|
00000090  6f 72 20 61 6e 64 20 77  61 73 20 75 6e 61 62 6c  |or and was unabl|
000000a0  65 20 74 6f 20 63 6f 6d  70 6c 65 74 65 20 79 6f  |e to complete yo|
000000b0  75 72 20 72 65 71 75 65  73 74 2e 20 45 69 74 68  |ur request. Eith|
000000c0  65 72 20 74 68 65 20 73  65 72 76 65 72 20 69 73  |er the server is|
000000d0  20 6f 76 65 72 6c 6f 61  64 65 64 20 6f 72 20 74  | overloaded or t|
000000e0  68 65 72 65 20 69 73 20  61 6e 20 65 72 72 6f 72  |here is an error|
000000f0  20 69 6e 20 74 68 65 20  61 70 70 6c 69 63 61 74  | in the applicat|
00000100  69 6f 6e 2e 3c 2f 70 3e  0a                       |ion.</p>.|

caused by: XML syntax error on line 2: unquoted or missing attribute value in element
```

### Expected Behavior

When (trying to) sending the same message on a "real" AWS SQS queue, this is the error message:

```
InvalidParameterValue: Message (user) attribute 'ErrorDetails' must contain a non-empty value of type 'String'.
	status code: 400, request id: db2719d5-7bd3-5aa0-af81-43203661447a
```

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

Dockercompose.yaml (snippet)
```

  localstack:
    container_name: "aws-sqs"
    image: "localstack/localstack:latest"
    hostname: aws-sqs
    environment:
      - AWS_REGION=us-west-2
      - EDGE_PORT=4566
      - SERVICES=sqs
    ports:
      - '4566:4566'
    volumes:
      - "${TMPDIR:-/tmp}/localstack:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"
    networks:
      - backend
```

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

      aws --endpoint-url=http://localhost:4566 --region us-west-2 sqs create-queue --queue-name events



### Environment

```markdown
- OS: Ubuntu 22.04
- LocalStack: localstack/localstack:latest 
- Go: go version go1.18 linux/amd64
```


### Anything else?

[Go Statemachine](https://github.com/massenz/go-statemachine)

Currently in a dev branch: `statemachine-sqs`
import base64
import copy
import hashlib
import heapq
import inspect
import json
import logging
import random
import re
import string
import threading
import time
from queue import Empty, PriorityQueue
from typing import Dict, List, NamedTuple, Optional, Set
from moto.sqs.models import BINARY_TYPE_FIELD_INDEX, STRING_TYPE_FIELD_INDEX
from moto.sqs.models import Message as MotoMessage
from localstack import config, constants
from localstack.aws.api import CommonServiceException, RequestContext
from localstack.aws.api.sqs import (
    ActionNameList,
    AttributeNameList,