Service-Test mithilfe eines HTTP-Proxys aufzeichnen

Sie können Tests für SOAP-Web-Services oder einfache XML-Services aufzeichnen, indem Sie ein Clientprogramm über einen zugeordneten HTTP-Proxy ausführen. Bei der Testaufzeichnung fängt der Proxy die Serviceaufrufe und Nachrichtenrückgaben zwischen dem Client und dem Service ab. Dieses Abfangen kann zu Authentifizierungsproblemen führen, da der Client mit dem Recorder-Proxy anstelle mit dem tatsächlichen Server kommuniziert.

Vorbereitende Schritte

Bevor Sie beginnen, müssen Sie prüfen, ob Rational Agent Controller auf dem lokalen Computer aktiv ist.

Wenn Ihr Arbeitsbereich nicht bereits einen Test enthält, erstellt der Assistent für die Testerstellung ein Projekt. Wenn Sie einen Test in einem bestimmten Projekt speichern möchten, prüfen Sie vor der Aufzeichnung des Tests, ob dieses Projekt verfügbar ist.

Stellen Sie beim Testen eines SOAP-Web-Service sicher, dass Sie über Zugriff auf eine gültige WSDL-Datei (Web Services Description Language) verfügen. Der Assistent kann WSDL-Dateien aus dem Arbeitsbereich, dem Dateisystem, einem fernen Repository oder einer URL importieren. Vergewissern Sie sich, dass die WSDL-Dateien die richtige Syntax für die Testumgebung verwenden. Der Generic Service Client funktioniert möglicherweise mit einigen WSDL-Dateien nicht.

Wenn Sie SSL (Secure Sockets Layer) für die Authentifizierung der Kommunikation mit dem Server verwenden, müssen Sie den Client so konfigurieren, dass er das vom Recorder-Proxy generierte Zertifikat und nicht das Zertifikat des tatsächlichen Servers akzeptiert.

Wenn Sie die SOAP-Sicherheit oder Dateianhänge verwenden, stellen Sie sicher, dass die Umgebung mit den richtigen Bibliotheken und Konfigurationsdateien konfiguriert ist. Weitere Informationen finden Sie in Umgebungen für die SOAP-Sicherheit konfigurieren.

Standardmäßig verwendet der Recorder-Proxy den Port 1080. Sie können Sie Portnummer mit dem Assistenten ändern, wenn dieser Port bereits belegt ist oder von einer Unternehmensfirewall oder einem Proxy verwendet wird.

Informationen zu diesem Vorgang

So zeichnen Sie einen Test auf:

Vorgehensweise

  1. Klicken Sie in der Perspektive "Test" auf Datei > Neu > Neuen Test aus Aufzeichnung erstellen oder klicken Sie auf das Symbol Symbol 'Neuen Test aus Aufzeichnung erstellen'.
  2. Wählen Sie Test aus neuer Aufzeichnung erstellen und Web-Service- oder XML-Aufzeichnung mit vorhandenem Client (HTTP-Proxy) aus. Klicken Sie dann auf Weiter .
  3. Wählen Sie ein Projekt aus, und geben Sie dann in Testdateiname einen Namen für den Test ein. Der von Ihnen eingegebene Name ist der Basisdateiname für die Aufzeichnung, den Test und andere erforderliche Dateien. Diese Dateien werden im Testnavigator oder im Java Package Explorer mit den sie unterscheidenden Erweiterungen angezeigt, während im Testnavigator nur der einfache Name bzw. Testname angezeigt wird.
  4. Klicken Sie auf Weiter.
  5. Geben Sie WSDL- oder XSD-Dateien (XML Schema Definition) an, mit denen der Inhalt des Tests erstellt werden kann:
    1. Wenn Sie einen SOAP-Web-Service aufzeichnen, klicken Sie auf Hinzufügen, um die WSDL-Dateien der zu testenden Web-Services auszuwählen oder zu importieren. Es ist keine WSDL-Datei erforderlich, wenn Sie einen einfachen XML-Service über HTTP, ohne SOAP, testen.
    2. Wenn eine XSD verfügbar ist, klicken Sie auf Hinzufügen, um die XSD-Dateien auszuwählen oder zu importieren, die den XML-Inhalt der zu testenden Services enthalten.
  6. Klicken Sie auf Weiter.
  7. Geben Sie den vom Service verwendeten Port und den Wert für das Zeitlimit in Sekunden an. Der Recorder verwendet einen eigenen Proxy zum Aufzeichnen von Aktivierungsaufrufen und Rückgaben. Wenn Sie jedoch bereits einen anderen Proxy, z. B. eine Unternehmensfirewall, für den Zugriff auf den Service verwenden oder wenn Sie eingehende oder ausgehende Nachrichten mit angepasstem Code umwandeln müssen, klicken Sie auf Erweiterte Einstellungen und führen Sie folgende Schritte aus:
    1. Für einen vorhandenen HTTP-Proxy geben Sie die IP-Adresse oder den Hostnamen in HTTP-Proxy und einen Wert in Port ein. Wenn einige Hosts den Proxy umgehen müssen, geben Sie die Namen dieser Hosts in Kein HTTP-Proxy für ein. Trennen Sie je zwei Hostnamen durch ein Komma.
    2. Für einen vorhandenen HTTPS-Proxy geben Sie die IP-Adresse oder den Hostnamen in HTTPS-Proxy und einen Wert in Port ein. Wenn einige Hosts den Proxy umgehen müssen, geben Sie die Namen dieser Hosts in Kein HTTPS-Proxy für ein. Trennen Sie je zwei Hostnamen durch ein Komma.
    3. Wenn Sie eingehende oder ausgehende Nachrichten mit eigenem Java-Code umwandeln müssen, klicken Sie auf Durchsuchen, damit Sie eine Java-Klasse aus Ihrem Arbeitsbereich angeben können. Diese Option ist für spezielle Zusammenhänge vorgesehen, in denen Nachrichten über eine Verarbeitungsmethode umgewandelt oder komprimiert werden müssen, die in einer Java-Klasse definiert werden kann.
  8. Klicken Sie auf Weiter.
  9. Wenn Sie keinen Zugriff auf die Schlüsselspeicherdatei für das Serverzertifikat haben, können Sie den Recorder-Proxy anweisen, sein eigenes Zertifikat bereitzustellen. Wählen Sie hierfür Mit Proxy-Zertifikat authentifizieren aus. Dadurch wird der Recorder-Proxy veranlasst, sich mit seinem eigenen Zertifikat zu identifizieren. Deshalb müssen Sie die Clientanwendung so konfigurieren, dass sie das Recorder-Proxy-Zertifikat als vertrauenswürdig ansieht. Gehen Sie dazu wie nachstehend beschrieben vor.
    Tipp: Wenn Sie SSL nicht verwenden, wählen Sie Mit Proxy-Zertifikat authentifizieren aus und überspringen Sie diese Seite.
    • Wenn die Clientanwendung eine Truststore-Datei verwendet, geben Sie an, wie sich der Recorder-Proxy bei der Clientanwendung authentifizieren soll: Wählen Sie Proxy-Zertifikat zum Client-Truststore hinzufügen aus, klicken Sie auf Durchsuchen, um die Truststore-Datei anzugeben, und geben Sie das Kennwort ein.
    • Ist keine Truststore-Datei vorhanden, verwenden Sie die Einstellungen, Befehle oder Optionen, die die Clientanwendung zur Angabe eines vertrauenswürdigen Servers bereitstellt.
  10. Wenn Sie Zugriff auf eine Schlüsselspeicherdatei für Serverzertifikate haben, wenn der Service eine doppelte Authentifizierung erfordert oder wenn der Service mehrere Endpunkte hat, von denen jeder seine eigene SSL-Konfiguration erfordert, inaktivieren Sie das Markierungsfeld Mit Proxy-Zertifikat authentifizieren und verwenden stattdessen die Tabelle, um jedem Endpunkthostnamen und -port eine SSL-Konfiguration zuzuordnen:
    1. Wählen Sie für jeden Endpunkthostnamen und -port eine vorhandene SSL-Konfiguration aus und klicken Sie dann auf Konfiguration bearbeiten. Sie können alternativ auf Neue Konfiguration klicken, um eine SSL-Konfiguration zu erstellen. Durch diese Aktion wird das Fenster SSL-Eigenschaften geöffnet.
    2. Aktivieren oder inaktivieren Sie für die aktuelle SSL-Konfiguration das Markierungsfeld Mit Proxy-Zertifikat authentifizieren (siehe Beschreibung in Schritt 9).
    3. Wenn Sie die Authentifizierung des Clients über den Server vornehmen wollen, wählen Sie Clientzertifikat verwenden aus, klicken auf Durchsuchen, um die Schlüsselspeicherdatei für Clientzertifikate anzugeben. Ist der Keystore verschlüsselt, geben Sie das Kennwort ein.
    4. Klicken Sie auf OK.
  11. Klicken Sie auf Weiter. Wenn Sie einen Web-Service-Test zum ersten Mal aufzeichnen, lesen Sie den Datenschutzhinweis und wählen Sie Akzeptieren aus. Klicken Sie auf Fertig stellen, um fortzufahren.
  12. Führen Sie die Clientanwendung manuell aus und verwenden Sie diese, um Serviceaufrufe zum Service zu senden und Nachrichtenrückgaben vom Service zu erhalten. Alle Serviceaufrufe und Nachrichtenrückgaben, die den Recorder-Proxy durchlaufen, werden aufgezeichnet.
  13. Nachdem Sie die Aufzeichnung der Serviceaufrufe und Nachrichtenrückgaben für das Testen abgeschlossen haben, klicken Sie in der Sicht Socket-Recordersteuerung auf StoppenStoppen. Es wird ein Fortschrittsfenster angezeigt, während der Test generiert wird.

Feedback