2010-05-11 14 views
17

ho creato un'implementazione di LoggingHandler che implementa SOAPHandler<SOAPMessageContext>Client Web JAX-WS Java: come registrare la richiesta e la risposta xml?

Dovrebbe login ogni volta che handleMessage trigger (e non è mai chiamato nel mio caso)

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

ora provo questo:

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

Tuttavia non vedo alcuna richiesta/risposta xml.

Potete suggerire qualche soluzione? Forse c'è un altro modo per vedere l'output e richiedere XML?

risposta

23

si inizia a lavorare, se si utilizza questo metodo:

binding.setHandlerChain(handlerList); 

Quindi, prima inizializzare questa lista con

binding.getHandlerChain(); 

quindi aggiungere il vostro elemento alla lista e dopo tutto

setHandlerChain(); 
+0

Questa è la soluzione, dovresti contrassegnarla in verde. – zygimantus

2

puoi aggiungere un logger nel tuo file log4j.xml:

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