Включение анализа JSON в Axis2 - PullRequest
0 голосов
/ 11 ноября 2011

Я установил Apache Axis2 1.6.1 на веб-сервере Jetty 8.0.4, но разбор JSON, похоже, не работает, поэтому мне было интересно, нужно ли что-то еще устанавливать или настраивать для получения (службы) сторона, чтобы понять JSON.

В частности, я использую сценарий POJO Deployment для простой разработанной мной службы, и, хотя все работает, как и ожидалось, с SOAP-запросами, когда я пытаюсь использовать JSON, я получаю следующее исключение:

org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<' at [row,col {unknown-source}]: [1,1]

Это происходит последовательно в результате использования любого метода отправки сообщений (например, sendReceive () или invokeRobust ()), не только с моим сервисом, но даже для модульных тестов (например, JSONIntegrationTest), связанных с Axis2.

Используя трассировку пакетов, я вижу, что исходящее сообщение правильно отформатировано в JSON (тип содержимого "application / json"), поэтому, за исключением исключения, очевидно, что принимающая сторона не может десериализовать сообщение в ожидающую его службу. Очевидно, Axis2 ожидает XML, даже когда он получает JSON.

Как мне сказать Axis2 десериализовать JSON на стороне получения (обслуживания)?

1 Ответ

1 голос
/ 11 ноября 2011

Вам потребуется настроить построитель сообщений JSON на стороне сервера. Однако даже при этом он не будет работать из-за AXIS2-5158 .

...