gpt4 book ai didi

java - 使用 log4j 的 WebSphere 7 JAX-WS 日志 Soap 消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:41 25 4
gpt4 key购买 nike

我想知道如何利用 Log4J 在 WebSphere 7 中记录 SOAP 消息,我正在使用 JAX-WS,它使用 WebSphere 7 附带的 AXIS2 引擎。我能够在 WebSphere 中使用“跟踪”记录 SOAP 消息但我想知道是否有一种方法可以使用 Log4J 来记录 SOAP 消息并使用 File Appender。

如果有人能确切地告诉我如何配置它,我将不胜感激,我尝试了一些方法但没有用。

我确实将 log4j.properties 文件放在 WEB-INF/classes 中,但它不记录 SOAP 消息。

log4j.rootCategory=DEBUG, LOGFILE
log4j.logger.org.apache.axis2=DEBUG, LOGFILE
log4j.category.org.apache.axis2=DEBUG, LOGFILE
log4j.logger.org.apache.axis2.transport.http=DEBUG, LOGFILE
log4j.category.org.apache.axis2.transport.http=DEBUG, LOGFILE
log4j.logger.com.ibm.ws.websvcs=DEBUG, LOGFILE
log4j.category.com.ibm.ws.websvcs=DEBUG, LOGFILE

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=C:/K1/logs/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n

最佳答案

WebSphere Web 服务运行时在内部使用 WebSphere 跟踪日志记录。您可能无法通过简单地将 log4j 添加和配置到您的 Web 服务使用应用程序来将内置的 web service traces 定向到 log4j。

但是,您可以使用 JAX-WS 标准处理程序相当轻松地将请求和响应或错误记录到 log4j 记录器(但您必须编写一些代码)。

这里是 GlassFish tutorial on JAX-WS handlers 。请注意,演示处理程序将 SOAP 消息记录到 System.out;你会想要使用 log4j。

This StackOverflow post 包含 SOAP 消息记录处理程序的完整 java 类示例如何以编程方式注册处理程序,以便它在消息处理期间执行。它也使用 System.out;您需要将 log.debug(...) 替换为 out.println(...) 才能使用 log4j。然后,您可以像上面尝试的那样为这个记录器配置 log4j 文件附加程序。

作为侧边栏,如果您通过 @WebServiceRef 获取服务引用,您可以通过 @HandlerChain 引用的 XML 文件以声明方式定义处理程序。端到端的 IBM 教程是 here

关于java - 使用 log4j 的 WebSphere 7 JAX-WS 日志 Soap 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21989914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com