¿Cómo registrar mensajes SOAP y encabezados HTTP mediante programación en el lado del servidor o del cliente?

He estado buscando durante mucho tiempo en esto y probando.

Simplemente quiero registrar los detalles del mensaje SOAP y la solicitud / respuesta del protocolo de transporte (encabezado) junto con él.

Lo que heencontrado hasta ahora:

- Manejadores .. para generar los mensajes de jabón como XML sin procesar en la salida de la consola, esta es una muy buena solución. Sin embargo, paraHTTP encabezado (MimeHeaders usado) parece que el resultado es muy poco. Por ejemplo, en el cliente solo recibo

Accept : text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Type : text/xml; charset=utf-8
Content-Length : 260

- Propiedades del sistema

System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");
System.setProperty("com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump", "true");
System.setProperty("com.sun.xml.ws.util.pipe.StandaloneTubeAssembler.dump", "true");
System.setProperty("com.sun.xml.ws.transport.http.HttpAdapter.dump", "true");
System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true");

Esto es perfecto como salida a la consola, encabezados http completos y mensaje de jabón.Pero no personalizable para iniciar sesión, manipulando el encabezado / mensaje. Aquí hay una muestra

---[HTTP request - http://localhost:8080/Testmart/TestMartCatalogService]---
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
User-Agent: JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:getProducts xmlns:ns2="http://www.testmart.com"><arg0>books</arg0></ns2:getProducts></S:Body></S:Envelope>--------------------

---[HTTP response - http://localhost:8080/Testmart/TestMartCatalogService - 200]---
null: HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 414
Content-Type: text/xml;charset=UTF-8
Date: Sat, 30 Sep 2017 11:42:56 GMT
Server: JBoss-EAP/7
X-Powered-By: Undertow/1
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/><soap:Body><ns1:getProductsResponse xmlns:ns1="http://www.testmart.com"><return xmlns=""><item>Inferno</item><item>Joyland</item><item>The Game Of Thrones</item></return></ns1:getProductsResponse><TestBodyElement>hahahaha</TestBodyElement></soap:Body></soap:Envelope>--------------------

- Monitor Eclipse TCP / IP O WireShark

Ambos son perfectos para monitorear como la solución anterior, pero una solución programática como la primera con una salida como esta (o anterior) sería extremadamente perfecta para controlarla dentro del código.

Entonces, ¿hay otra forma o algo que podría perder usar como los controladores o en los controladores que generarían detalles como lo hace la configuración de volcado? Cualquier sugerencia es muy apreciada.

Respuestas a la pregunta(0)

Su respuesta a la pregunta