2010-05-11 1 views
17

habe ich eine Implementierung von LoggingHandler die SOAPHandler<SOAPMessageContext>Java JAX-WS Web-Service-Client: Wie Log-Anfrage & Antwort XML?

Es implementiert sollte, wenn handleMessage Trigger log (und es wird nie in meinem Fall genannt)

MyService service = new MyService(); 
MyServicePort port = service.getPortType(); 

ich jetzt versuchen, diese:

BindingProvider bindingProvider = (BindingProvider)port; 
bindingProvider.getBinding().getHandlerChain().add(new LoggingHandler()); 

Ich sehe jedoch keine Anfrage/Antwort-XML.

Können Sie irgendeine Lösung vorschlagen? Vielleicht gibt es eine andere Möglichkeit, die Ausgabe zu sehen und XML anzufordern?

Antwort

23

Es beginnt zu arbeiten, wenn Sie diese Methode verwenden:

binding.setHandlerChain(handlerList); 

Also, zuerst diese Liste initialisieren mit

binding.getHandlerChain(); 

dann Elemente zur Liste hinzufügen und nach allen

setHandlerChain(); 
+0

Dies ist die Lösung, Sie sollten es grün markieren. – zygimantus

2

Sie können einen Logger in Ihrer log4j.xml-Datei hinzufügen:

<!-- Log WebService's inputs and outputs --> 
<logger name="org.apache.cxf.interceptor"> 
    <level value="INFO" /> 
    <appender-ref ref="[YOUR_LOGGER]" /> 
</logger>