org.apache.kafka.common.errors.SerializationException с полем org.w3c.dom.Element - PullRequest
1 голос
/ 15 марта 2019

Я пытаюсь отправить сообщение kafka и получить это сообщение в другом сервисе.Я добавляю

org.springframework.kafka.support.serializer.JsonDeserializer //consumer side
org.springframework.kafka.support.serializer.JsonSerializer //produser side

И я пытаюсь отправить объект с полем:

org.w3c.dom.Element;

@XmlAnyElement
protected Element any;

Сообщение отправлено успешно, но на стороне потребителя я получаю сообщение об ошибке:

Caused by: org.apache.kafka.common.errors.SerializationException: Can't deserialize data [[123, 34, 114, 101...

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Problem deserializing property 'any' (expected type: [simple type, class org.w3c.dom.Element]; actual type: `com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl`), problem: java.lang.ClassCastException@4db05b26

Я показываюэто сообщение в topik с помощью этой команды:

./kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic my-topic  --from-beginning

И это сообщение выглядит правильно:

"to": "eyJzaWQi...",
 "messagePrimaryContent": {
    "any": "<?xml version=\"1.0\" encoding=\"UTF-16\"?>\n<ImportCh...(another xml text)"
 },
 "personalSignature": null,

Как десериализовать это сообщение?

Если я отправлю этот объект без org.w3c.dom.Element, все будут работать правильно.

...