【发布时间】:2013-12-19 00:07:33
【问题描述】:
我在一个经过高度修改的 Tomcat6 环境中使用 Axis2-1.6.2,该环境托管一个 Web 服务,并且需要记录每个传入的 Axis2 Web 服务请求。
这是针对生产环境的,我希望将所有请求(SOAP 消息)记录到日志文件中。
对于有效请求(符合 WSDL 的有效请求结构),这可以正常工作,因为我可以在 Axis2 解析请求主体后记录它。问题出在格式错误的请求上,这些请求被 Axis2 拒绝,并且没有通过我的代码。
到目前为止,我也尝试了很多方法来记录这些错误请求,但所提出的(简单)解决方案都没有奏效。我基本上只是想设置一个 logback appender (SLF4J) 或向 Java 进程添加一些 -Dparameter 以激励 Axis2 将每条传入消息记录到文件中,并且无法相信显然没有简单的方法可以做到这一点。
- 我也不能真正使用像 Fiddler 这样的代理来进行日志记录(环境限制)。
-
<handler type="java:org.apache.axis.handlers.LogHandler"/>也不起作用,因为它不是 Axis1。 - 这里描述的Dparameter 也没有做任何事情。
在我看来,唯一的解决方案是编写一个自定义处理程序,它会进行日志记录。然而,对于一个成熟的技术和一个明显的用例来说,这似乎是太多的努力和定制。我确实有指导如何做到这一点,例如axis2 Log Response with Request 和Java Example - Loghandler.java。
难道没有更简单(更原生)的方式吗?
【问题讨论】:
标签: java web-services logging soap axis2