Я пытаюсь использовать интерфейс веб-службы Exchange 2010 с помощью JAX-WS. Я использую JAX-WS 2.2 RI (Metro 2.0). 2.1 выставил ту же проблему.
У меня проблемы с Exchange, который возвращает «HTTP / 1.1 415 Не удается обработать сообщение, поскольку тип содержимого« text / xml; charset = utf-8 »не был ожидаемым типом« text / xml; charset = utf » -8' «. в качестве ответа (в 2.1 указано значение набора символов, в остальном тот же ответ).
По-видимому, мне нужно диктовать точный заголовок Content-type, чтобы Exchange был счастлив.
Есть ли способ сделать это, не заставляя меня вручную перестраивать зависимость? В настоящее время я полагаюсь на опубликованные артефакты Maven и хотел бы продолжать делать это, если это вообще возможно.
Процесс потребления - это обычное приложение J2SE, без контейнеров в поле зрения. У меня есть контроль над приложением, и я могу добавить почти все, что требуется, в область приложения, но не могу добавлять элементы вне процесса, такие как прокси-серверы. Клиентские классы были сгенерированы из локального WSDL, но спецификация charset основана на константах, объявленных в реализации RI jaxws, а не на сгенерированном коде. Таким образом, полученный HTTP-транспорт обрабатывается стандартным клиентом http / https из Sun JRE5 или JRE6.