Я установил 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 на стороне получения (обслуживания)?