Я написал серию сервисов JAX-RS, которые развернуты в файле WAR в Wildfly 11. У меня есть аннотация @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
, указывающая, что я хочу получить JSON или XML в качестве ответа от сервиса , У меня есть ряд объектов передачи данных с аннотациями JAXB. Это объекты, которые будут возвращены моим сервисом. Я тестировал с использованием JSON, и все работает, как ожидалось. Однако, когда я пошел на тестирование с использованием заголовка "Accept: application/xml"
, чтобы получить обратно XML, я получил следующее исключение в моих журналах:
org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure: не удалось
найти MessageBodyWriter для объекта ответа типа: com.test.MyObject
Тип мультимедиа: application / xml; charset = UTF-8
Я не уверен, откуда взялся ;charset=UTF-8
. Я не указываю это в моем заголовке Accept
. Я также нигде не вижу ;charset=UTF-8
, когда использую application/json
в качестве типа Accept
. Кроме того, я регистрирую все мои заголовки запросов и не вижу, чтобы ;charset=UTF-8
появлялся где-либо, так что это определенно не то, что добавляется с моей стороны.
Кто-нибудь сталкивался с этим раньше? Я знаю, что нет, поэтому я не знаю, почему это происходит. Есть мысли?