当我从dss服务请求json响应时,我得到以下错误。
{"Fault":{"faultcode":"soapenv:Server","faultstring":"Error while writing to the output stream using JsonWriter","detail":""}}
我传递的curl请求是
curl -X GET -H "Accept:application/json" -H "Content-Type:application/json" http://localhost:9764/services/userdetails/test
我得到适当的xml响应,如果我删除接受头。
奇怪的是,如果我从我同事的笔记本电脑上运行相同的dss服务,我得到正确的json响应与上面的curl命令。我的电脑上的一些配置发生了变化,因此我的电脑上出现了这个错误。
我无法找到我的电脑发生了什么变化,因为我得到这个错误。
我最近也经历了同样的事情。我希望调试并找到原因,但还没有机会。
然而,在respository/conf/axis2/axis2.xml
中更改application/json
格式化器和发送器实现解决了这个问题。为此,您可以取消注释/注释掉下面的内容。
<messageFormatter contentType="application/json"
class="org.apache.axis2.json.JSONMessageFormatter"/>
<!--messageFormatter contentType="application/json"
class="org.apache.axis2.json.gson.JsonFormatter" /-->
<messageBuilder contentType="application/json"
class="org.apache.axis2.json.JSONOMBuilder"/>
<!--messageBuilder contentType="application/json"
class="org.apache.axis2.json.gson.JsonBuilder" /-->