当肥皂请求中包含无效字符(例如:<,>和..)时,例如:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:per="http://person.ws">
<soapenv:Header/>
<soapenv:Body>
<per:login>
<!--Optional:-->
<per:args0><dfg</per:args0>
<!--Optional:-->
<per:args1>secret</per:args1>
</per:login>
</soapenv:Body>
</soapenv:Envelope>
我们得到以下回应:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) excepted space, or '>' or "/>"
at [row,col {unknown-source}]: [6,25]</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
我们在<faultstring>
中得到了堆栈跟踪,有什么方法可以获取用户定义的错误消息而不是堆栈跟踪。
我们可以覆盖AxisServlet中的handleFault()方法还是请提供处理错误的示例以显示自定义消息?
已经在axis2.xml中将参数sendStacktraceDetailsWithFaults设置为false
<parameter name="sendStacktraceDetailsWithFaults">false</parameter>