【发布时间】:2011-12-27 02:55:38
【问题描述】:
我已经在 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?
【问题讨论】:
标签: java json web-services axis2