在Axis2中启用JSON解析

时间:2011-11-11 15:22:52

标签: java json web-services axis2

我已经在Jetty 8.0.4 Web服务器中安装了Apache Axis2 1.6.1,但是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())的结果中,不仅与我的服务有关,甚至与Axis2捆绑在一起的单元测试(例如,JSONIntegrationTest)。

使用数据包跟踪我可以看到传出消息在JSON(“application / json”内容类型)中正确格式化,因此,在给定异常的情况下,显然接收端无法将消息反序列化为期望它的服务。显然,Axis2正在等待XML,即使它正在接收JSON。

如何告诉Axis2在接收(服务)端反序列化JSON?

1 个答案:

答案 0 :(得分:1)

您需要在服务器端配置JSON消息构建器。但是,即使这样,由于AXIS2-5158,它也无法工作。