【问题标题】:Logging malformed Axis2 requests记录格式错误的 Axis2 请求
【发布时间】:2013-12-19 00:07:33
【问题描述】:

我在一个经过高度修改的 Tomcat6 环境中使用 Axis2-1.6.2,该环境托管一个 Web 服务,并且需要记录每个传入的 Axis2 Web 服务请求。

这是针对生产环境的,我希望将所有请求(SOAP 消息)记录到日志文件中。

对于有效请求(符合 WSDL 的有效请求结构),这可以正常工作,因为我可以在 Axis2 解析请求主体后记录它。问题出在格式错误的请求上,这些请求被 Axis2 拒绝,并且没有通过我的代码。

到目前为止,我也尝试了很多方法来记录这些错误请求,但所提出的(简单)解决方案都没有奏效。我基本上只是想设置一个 logback appender (SLF4J) 或向 Java 进程添加一些 -Dparameter 以激励 Axis2 将每条传入消息记录到文件中,并且无法相信显然没有简单的方法可以做到这一点。

在我看来,唯一的解决方案是编写一个自定义处理程序,它会进行日志记录。然而,对于一个成熟的技术和一个明显的用例来说,这似乎是太多的努力和定制。我确实有指导如何做到这一点,例如axis2 Log Response with RequestJava Example - Loghandler.java

难道没有更简单(更原生)的方式吗?

【问题讨论】:

    标签: java web-services logging soap axis2


    【解决方案1】:

    对于有效请求(有效请求结构符合 WSDL), 这很好用,因为我可以在请求正文之后记录它 由 Axis2 解析。问题在于格式错误的请求,它们是 被 Axis2 拒绝,并且不通过我的代码。

    这是因为,在请求被分派到服务之后,它会失败,因为它没有遵循服务定义..

    AFAIK,唯一的解决方案是,在调度阶段之前保留一个自定义处理程序,以捕获和记录请求。通过axis2层后无论日志记录机制如何工作..但在您的情况下,它会在此之前失败..所以,尝试保留一个简单的处理程序来记录消息..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 2012-09-19
      • 2021-10-16
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多