【问题标题】:How to ignore base64binary fields when logging SOAP messages?记录 SOAP 消息时如何忽略 base64binary 字段?
【发布时间】:2011-09-20 09:58:34
【问题描述】:

我正在使用 Spring 的 SoapEnvelopeLoggingInterceptor 来记录 SOAP 请求/响应。

一些请求/响应包含base64Binary 字段,这在日志文件中占用了大量空间,我不需要出于我的目的记录它。

深入SoapEnvelopeLoggingInterceptor的代码,我可以看到使用的java.xml.transform.Transformer是这样创建的:

Transformer transformer = createTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.setOutputProperty(OutputKeys.INDENT, "no");
return transformer; 

我可以在Transformer 上设置一些属性来阻止它打印出base64Binary 字段的内容吗?或者我可以配置或覆盖以防止它被记录的其他任何东西?

【问题讨论】:

    标签: java xml logging spring-ws


    【解决方案1】:

    我不了解 Transformer,但我认为 Base64 字段的大小写字母数量大致相等。普通文本往往会有更多的小写字母或全部为大写字母。您也许可以通过这种方式确定差异。

    还有一些标点符号从未出现在 Base64 中。看到其中任何一个都会告诉您该字段不是 Base64。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      相关资源
      最近更新 更多