Como registrar mensagens SOAP e cabeçalhos HTTP programaticamente no servidor ou no cliente?

Estive pesquisando por muito tempo sobre isso e testando.

Quero simplesmente registrar os detalhes da mensagem SOAP e a solicitação / resposta do protocolo de transporte (cabeçalho) junto com ela.

O que eu tenhoencontrado até agora:

- Manipuladores .. para enviar as mensagens de sabão como xml bruto na saída do console, é uma solução muito boa. No entanto, paraHTTP cabeçalho (MimeHeaders usado) parece que a saída é muito pequena. Por exemplo, no cliente, recebo apenas

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

- Propriedades do 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");

Isso é perfeito como saída para o console, cabeçalhos http completos e mensagem de sabão.Mas não personalizável para registro, manipulando o cabeçalho / mensagem. Aqui está uma amostra

---[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 TCP / IP Eclipse OU WireShark

Ambos são perfeitos para monitorar como a solução anterior, mas uma solução programática como a primeira com saída como essa (ou anterior) seria extremamente perfeita para controlá-la dentro do código.

Então, existe outra maneira ou algo que eu poderia deixar de usar como os manipuladores ou nos manipuladores que produziriam detalhes como a configuração de despejo? Todas as sugestões são muito apreciadas.

questionAnswers(0)

yourAnswerToTheQuestion