【问题标题】:Apache CXF malformed message exceptionApache CXF 格式错误的消息异常
【发布时间】:2012-02-07 19:33:36
【问题描述】:

我在 Spring 容器中使用 Apache CXF,公开使用 JaxWS 注释的 Web 服务。一切正常,但除了一件事......

当我向 Web 服务器发送格式错误的消息时,我看到堆栈跟踪被发送到 System.err。有什么办法可以抑制服务器端的异常吗?如果错误的“编码”客户端不断访问此 Web 服务器并且堆栈跟踪淹没控制台/日志,这可能会出现问题。

事实上,当我在浏览器中点击 URL 时,甚至会引发异常。

任何意见将不胜感激

编辑: 这是我得到的例外

07 Feb 2012 9:39:02 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Interceptor for {http://ws.test.com/}MyEndpointImpService has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: No such operation:  (HTTP GET PATH_INFO: /HelloWorld)

还有更多...

07 Feb 2012 10:00:29 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Interceptor for {http://ws.payd.oltio.com/}PayDEndpointImpService has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.

【问题讨论】:

  • 你应该提供你发送的方法和异常以及XML请求,可能WSDl也不会受到伤害
  • 它工作得很好。仅当发送格式错误的请求时...
  • 你的意思是格式错误......?参数错误?错误的地址?等等?
  • 没有结束标签等。基本上任何可以发送到网络服务器的垃圾。除了我的代码导致的逻辑异常之外的任何内容。

标签: java spring jax-ws cxf


【解决方案1】:

您需要在您的 logging.properties 中配置日志记录级别,如 CXF documentation 所示。

您可以删除 ConsoleHandler,或更改级别以不记录警告消息。

【讨论】:

  • 然后我如何看到“有效”的警告日志消息?
  • 这些消息是“有效的”,因为它们是由错误的请求引起的。除非我误解了这个问题?您可以将消息记录到 FileHandler,并使用合理的大小限制来防止错误失控。
  • 很公平......我做了以下事情:。感谢您的意见。
猜你喜欢
  • 1970-01-01
  • 2017-08-05
  • 2019-10-16
  • 2014-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-17
  • 2018-03-19
相关资源
最近更新 更多