2011-09-20 72 views
2

我使用Spring的SoapEnvelopeLoggingInterceptor來記錄SOAP請求/響應。如何在記錄SOAP消息時忽略base64binary字段?

某些請求/響應包含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的內容字段?或者我可以配置或重寫的其他任何東西來防止它被記錄?

回答

0

我不知道Transformer,但是我會認爲Base64字段的大寫和小寫字母大致相等。普通文本往往會有更多的小寫或全部大寫。您可以通過這種方式來確定差異。

此外還有從未出現在Base64中的標點符號。看到其中任何一個都會告訴你該字段不是Base64。