Páginas

jueves, 16 de febrero de 2012

Depurar mensajes SOAP con Spring WS

Son muchos los que preguntan por la red cómo depurar (logar, tracer, ...) los mensajes SOAP cuando se utiliza Spring WS. Yo también me lo he preguntado así que aquí va la solución.

Lo primero que hay que saber es que no es lo mismo depurar los mensajes SOAP cuando estamos en el lado del cliente, es decir, estamos implementando una llamada a un servicio Web o en el lado del servidor, esto es, estamos implementando el servicio Web. La forma de depurar los mensajes SOAP es distinta para cada caso.

En el lado del servidor tenemos dos alternativas:
  • Utilizar interceptores. Concretamente debemos utilizar PayloadLoggingInterceptor SoapEnvelopeLoggingInterceptor. Podéis encontrar información más detallada en la documentación de Spring, justo aquí. Cuando os decidais por uno de los interceptores, no hay que olvidad activar el nivel de DEBUG para el paquete al que pertenece.
  • Activar el nivel DEBUG o TRACE para el paquete org.springframework.ws.server.MessageTracing. Más información aquí.
En el lado del cliente:
  • Activar el nivel de DEBUG o TRACE para unos paquetes particulares:
    • org.springframework.ws.client.MessageTracing.sent para los mensajes salientes
    • org.springframework.ws.client.MessageTracing.received para mensajes entrantes.

No hay comentarios:

Publicar un comentario