【问题标题】:wso2 carbon - how to log the soap messages to the console with log4jwso2 carbon - 如何使用 log4j 将肥皂消息记录到控制台
【发布时间】:2015-04-18 06:19:25
【问题描述】:

我想将soap请求和响应转储到控制台。

我已尝试设置 log4:

log4j.logger.httpclient.wire=DEBUG, CARBON_CONSOLE
log4j.logger.org.apache.commons.httpclient=DEBUG, CARBON_CONSOLE

但是,这不会记录任何肥皂请求/响应。

【问题讨论】:

    标签: wso2 wso2carbon


    【解决方案1】:

    我认为您不能使用 Log4J 属性来做到这一点。我启用了 TRACE 以进行如下操作,

    log4j.logger.org.apache.axis2.builder=TRACE log4j.logger.org.apache.axis2.transport.http.ApplicationXMLFormatter=TRACE log4j.logger.org.apache.axis2.transport.http.SOAPMessageFormatter=TRACE

    您仍然无法让 SOAP 消息进出。如果您正在使用 ESB,那么您当然可以使用 inSequence 和 outSequence 中的 Log 中介来获取 SOAP 请求/响应

    最简单的方法是使用 TCPMon(随所有 WSO2 产品一起提供,可以在 bin 文件夹中找到)或 SOAP UI 之类的工具。

    【讨论】:

    • 我正在尝试调试仅在本地传输中发生的问题,因此使用拦截器对我不起作用。我在上游 AXIS2 项目中创建了一个 JIRA (issues.apache.org/jira/browse/AXIS2-5580)
    • Chris,您可以编译您正在尝试的 WSO2 产品随附的 Axis2 版本,然后调试 Axis2 代码以找出传入的消息格式。例如,WSO2 AppServer 5.0.1 使用此版本的 Axis2 - svn.wso2.org/repos/wso2/carbon/kernel/branches/4.0.0/…。然后在RPCMessageReceiver.java中的invokeBusinessLogic()上放一个调试点,进行远程调试。这是截图 - i.imgur.com/xt1VbgQ.png
    • 谢谢,虽然我的开发环境设置不正确,但我早做了,所以有点痛苦。此外,有时站在后面看肥皂信息也不错。
    【解决方案2】:

    更改 wso2 中的登录可能会有所帮助。 转到 Configure->Logging,并将 org.apache.axis2.transport.local.LocalTransportReceiver、org.apache.axis2.transport.local.LocalTransportSender、org.apache.axis2.transport.local.LocalResponder 设置为 DEBUG 级别。 它将最终出现在 repository/logs/wso2carbon.log 中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      相关资源
      最近更新 更多