0

我创建了一个工作正常的新 Web 服务项目,当尝试使用正确的 url 访问时,我能够在浏览器上查看 wsdl。

但是,当输入错误的 url 时,浏览器上会显示堆栈跟踪,如下所示:

org.apache.axis2.AxisFault:找不到操作的端点引用 (EPR) 是 //services/TestService?wsdlkdfl 并且 WSA Action = null。如果此 EPR 以前可以访问,请联系服务器管理员。
    在 org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102)
    在 org.apache.axis2.engine.Phase.invoke(Phase.java:329)
    在 org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
    在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
    在 org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
    在 org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)
    在 org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837)
    在 org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)

如何处理这种情况以显示空白页而不是显示堆栈跟踪?

4

1 回答 1

0

我能够通过更改axis2.xml文件来解决这个问题,如下所示:

“sendStacktraceDetailsWithFaults”参数 > false

“DrillDownToRootCauseForFaultReason”参数为 > false

以前这两个参数都是真的,因为整个堆栈跟踪都被显示出来了。

希望这对有同样问题的人有所帮助。我在互联网上找不到太多。

于 2013-07-05T07:58:33.883 回答