2012-08-22 107 views
2

我正在嘗試向wsdl2java生成的客戶端的入站/出站流量添加一些日誌記錄。 我生成客戶端,並使用它,如下所示:如何將攔截器添加到wsdl2java(CXF)生成的客戶端?

僞代碼:

MyService ws = new MyService().getMyServiceSoap12(); 
((BindingProvider)ws).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, webServiceAddress); // for dynamic endpoints... 

有什麼辦法,我可以添加一些攔截器?我在Spring應用程序中使用它!

回答

0

是的,您可以將攔截器添加到任何類的任何公共方法中。

你嘗試了什麼?

1

我不確定您的問題是詢問如何啓用內置請求/響應日誌記錄,或者更換和/或增強現有日誌記錄功能。

假設前者,我建議看看CXF User GuideDebugging and LoggingConfiguration部分。最重要的一點是CXF默認使用Java SE日誌記錄,這意味着如果你想使用別的東西,你需要在項目中拋出一個SLF4J橋接器。

要啓用日誌記錄合併這些位(注意cxf命名空間)在Spring配置:

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:cxf="http://cxf.apache.org/core" 
     xsi:schemaLocation=" 
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> 

    <cxf:bus> 
     <cxf:features> 
      <cxf:logging/> 
     </cxf:features> 
    </cxf:bus> 
</beans> 
相關問題