Herausforderung: Erfassen Sie die rohen XML-Anfragen und -Antworten, die von JAX-WS-Webdiensten ohne ausgetauscht werden auf Proxys angewiesen.
Lösung:
Glücklicherweise bietet JAX-WS einen unkomplizierten Mechanismus, um die Protokollierung der oben genannten XML-Kommunikation zu ermöglichen. Dies kann erreicht werden, indem Sie Systemeigenschaften in Ihrem Code festlegen.
<code class="java">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.transport.http.HttpAdapter.dump", "true"); System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true"); System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dumpTreshold", "999999");</code>
Durch das Festlegen dieser Eigenschaften aktivieren Sie die Protokollierung der gesamten XML-Kommunikation an der Konsole. Beachten Sie, dass das Festlegen aller vier Eigenschaften aus Gründen der Kompatibilität mit verschiedenen Bibliotheken empfohlen wird.
Dadurch können Entwickler die von ihren Webdiensten ausgetauschten XML-Nachrichten einfach überprüfen und wertvolle Erkenntnisse für die Fehlerbehebung und Leistungsanalyse gewinnen. Es handelt sich um eine leichtgewichtige Lösung, die den Mehraufwand vermeidet, der mit der Verwendung komplexerer Frameworks wie Axis oder CXF verbunden ist.
Das obige ist der detaillierte Inhalt vonWie überwacht man die XML-Kommunikation in JAX-WS-Webdiensten ohne Proxys?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!