首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JBoss 7中启用SOAP消息的漂亮日志记录

如何在JBoss 7中启用SOAP消息的漂亮日志记录
EN

Stack Overflow用户
提问于 2015-01-07 12:17:36
回答 4查看 9.4K关注 0票数 9

我通过在standalone.xml中添加以下内容启用了SOAP日志记录,如Jboss高级用户指南中所述:

代码语言:javascript
复制
<system-properties>
  <property name="org.apache.cxf.logging.enabled" value="true"/>
</system-properties>

此配置并不能很好地打印XML消息。我确信CXF支持漂亮的打印,因为库中有一个AbstractLoggingInterceptor.setPrettyLogging()方法。

如何在JBoss 7中启用SOAP请求和响应的漂亮打印。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-01-29 15:33:56

尽管Serdal的回答是正确的,但在我看来,这并不实际。

我的解决方案

我删除了org.apache.cxf.logging.enabled系统属性,并使用以下代码启用SOAP日志记录:

代码语言:javascript
复制
Client client = ClientProxy.getClient(port);

LoggingInInterceptor inInterceptor = new LoggingInInterceptor();
inInterceptor.setPrettyLogging(true);
client.getInInterceptors().add(inInterceptor);

LoggingOutInterceptor outInterceptor = new LoggingOutInterceptor();
outInterceptor.setPrettyLogging(true);
client.getOutInterceptors().add(outInterceptor);
票数 2
EN

Stack Overflow用户

发布于 2016-04-28 12:05:33

使用org.apache.cxf.logging.enabled属性是正确的方法,它接受格式良好的xml输出的值“漂亮”。

代码语言:javascript
复制
<system-properties>
  <property name="org.apache.cxf.logging.enabled" value="pretty"/>
</system-properties>

有关详细信息,请参阅https://github.com/apache/cxf/blob/master/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerBus.java#L68-L72

票数 8
EN

Stack Overflow用户

发布于 2015-01-28 10:00:36

通过执行以下操作,我能够很好地打印和增加来自Webservice的XML响应的限制大小:

代码语言:javascript
复制
        wsdlLocationURL = new URL(productServiceURLStr);
        ServiceFacadeBeanService serviceFacade =
                new ServiceFacadeBeanService(wsdlLocationURL,   SERVICE_FACADE_QNAME);
        ServiceFacade sfPort = serviceFacade.getServiceFacadeBeanPort();
        Client client = ClientProxy.getClient(sfPort);
        List<Interceptor<? extends Message>> ics = client.getBus().getOutInterceptors();

        for (Interceptor ic: ics) {
            if (ic instanceof LoggingOutInterceptor) {
                LoggingOutInterceptor out = (LoggingOutInterceptor) ic;
                out.setPrettyLogging(true);
                out.setLimit(1024 * 1024 *1024);
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27819361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档