Trace für SOAP-Nachrichten mit tcpmon
Sie können mit dem Tool "tcpmon" einen Trace für SOAP-Nachrichten erstellen, die Web-Services anfordern.
Vorbereitende Schritte
Für den Trace von SOAP-Nachrichten können Sie andere Tracetools verwenden, vergleichbar denen, die Sie für Web-Service-Komponenten nutzen. Weitere Informationen zu diesen anderen Tracetools finden Sie in der Dokumentation zur Traceerstellung für Web-Services.
Die Verwendung des Tools tcpmon in einer stark beanspruchten Umgebung wird nicht empfohlen. Tcpmon ist lediglich für die Überwachung von SOAP-Nachrichten in Lightweight-Umgebungen bestimmt.
Informationen zu diesem Vorgang
Für SOAP-Nachrichten, die zwischen einem Client und dem Server ausgetauscht werden, können Sie einen Trace durchführen, indem Sie einen Monitor oder eine Sniffer-Anwendung installieren, die den HTTP-Datenverkehr zwischen beiden Punkten erfasst. Das Anwendungsserverprodukt stellt für den Trace von SOAP-Nachrichten die Dienstprogrammklasse com.ibm.ws.webservices.engine.utils.tcpmon bereit. Die Klasse com.ibm.ws.webservices.engine.utils.tcpmon leitet Nachrichten von einem Port um, erfasst die Nachrichten und leitet sie an einen anderen Port weiter.
WebSphere Application Server ist in der Regel am Port 9080 empfangsbereit, bei Verwendung von IBM® HTTP Server am Port 80. Der Prozess "tcpmon" kann für Empfangsbereitschaft an einem bestimmten Port, z. B. 9088 konfiguriert werden und die Nachrichten dann an einen anderen Port, z. B. 9080 oder 80 umleiten. Der Client wird für den Zugriff auf Web-Services zum Port 9088 umgeleitet.
Die Umleitung eines Anwendungsclients an einen anderen Port ist ganz einfach. Sie müssen lediglich die SOAP-Adresse in der WSDL-Datei des Clients auf die Verwendung von Port 9088 setzen und dann das Befehlszeilentool wsdeploy für die Client-EAR-Datei ausführen, um die Serviceimplementierung neu zu generieren.
Der Befehl wsdeploy wird von JAX-RPC-Anwendungen (Java™ API for XML-based RPC) unterstützt. Das Programmiermodell Java API for XML-Based Web Services (JAX-WS), das vom Anwendungsserver implementiert wird, unterstützt den Befehl wsdeploy nicht. Wenn Ihre Web-Service-Anwendung nur JAX-WS-Endpunkte enthält, müssen Sie den Befehl wsdeploy nicht ausführen, da dieser Befehl nur zur Verarbeitung von JAX-RPC-Endpunkten verwendet wird.