Schritte zum Konfigurieren der zertifikatsbasierten Authentifizierung (WS-Security) für Web-Services mit SoapUI
Dieser Wissensdatenbankartikel wurde maschinell übersetzt. SAP übernimmt keine Gewährleistung für die Richtigkeit oder Vollständigkeit der Maschinenübersetzung. Sie können den Originalinhalt anzeigen, indem Sie über die Sprachauswahl zu "Englisch" wechseln.
Schritte zum Konfigurieren der zertifikatsbasierten Authentifizierung (WS-Security) für Web-Services
Eingehend zum Ariba-Webservice:
- Verwenden Sie einen Keystore zusammen mit einem X.509-Zertifikat, das mithilfe der Base64-Kodierung von Privacy Enhanced Mail (PEM) kodiert wird. Wenn Sie keinen von einer gültigen Zertifizierungsstelle haben, können Sie einen selbstsignierten Keystore/ein selbstsigniertes Zertifikat generieren, indem Sie wie folgt vorgehen:
- Öffnen Sie die Eingabeaufforderung, und ändern Sie das Verzeichnis in das Java-Installations-bin-Verzeichnis Ihres Rechners.
- Führen Sie den folgenden Befehl aus, um einen Keystore zu generieren (in Windows): Ersetzen Sie das Kennwort durch ein tatsächliches Kennwort, das Sie verwenden möchten:
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -Validity 360 -keysize 2048
-
- Schritt 1b hat eine Keystore-Datei mit dem Namen keystore.jks angelegt. Es handelt sich um einen Java-Keystore, der mein neues Zertifikat sowie die öffentlichen und privaten Schlüssel enthält.
- Extrahieren Sie nun das PEM-Zertifikat aus dem Keystore, das in die Ariba-Benutzeroberfläche für die Endpunktauthentifizierung implementiert werden kann. Führen Sie in der Eingabeaufforderung den folgenden Befehl aus (Ersetzen Sie das Kennwort durch das in Schritt 1b festgelegte tatsächliche Kennwort):
keytool -exportcert -alias selfsigned -keypass password -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem
- Für diese Lösung beziehe ich mich auf die Konfiguration der Anforderung in SoapUI. Gehen Sie in Ariba zu Verwalten > Administration/Ariba Administrator > Integrations-Manager > Endpunktkonfiguration > Neu.
- Fügen Sie das X.509-Zertifikat ein, das mit der Base64-Kodierung von Privacy Enhanced Mail (PEM) kodiert ist, die in Schritt 1d extrahiert wurde, fügen Sie es in die Zertifikatsdatei ein, und sichern Sie die Änderungen. Die erste Zeile des Zertifikats muss der folgende Text sein:
-----BEGIN-ZERTIFIKAT-----
Die letzte Zeile des Zertifikats muss der folgende Text sein:
-----ENDE ZERTIFIKAT-----

- Navigieren Sie zu Verwalten > Administration/Ariba Administrator > Integrations-Manager > Integrationskonfiguration > Wählen Sie den gewünschten Webdienst aus, bearbeiten Sie ihn, stellen Sie sicher, dass er aktiviert ist, und verwenden Sie den in Schritt 3 erstellten Endpunkt.
- WSDL-URL kopieren
- Legen Sie in SoapUI ein neues SoapUI-Projekt an, und verwenden Sie die aus Ariba kopierte WSDL-URL.
- Doppelklicken Sie auf das Projekt.

- Klicken Sie auf die Registerkarte Keystores, und klicken Sie auf das Symbol Hinzufügen (sieht wie ein Pluszeichen (+) aus).
- Wählen Sie die in Schritt 1 angelegte Keystore-Datei (die Dateierweiterung .jks), und geben Sie das Keystore-Kennwort ein. Anschließend sollte der Keystore-Status OK sein.

- Klicken Sie auf die Registerkarte Outgoing WS-Security Configurations, und klicken Sie auf das Symbol Add (sieht aus wie ein Pluszeichen (+)).
- Klicken Sie im unteren Bereich auf das Symbol Hinzufügen, um den Sicherheitstyp hinzuzufügen. Wählen Sie "Signatur".
- Wählen Sie Ihren Keystore und Alias aus der Dropdown-Liste aus, und geben Sie das Keystore-Kennwort ein. Geben Sie den Schlüsselidentifikatortyp = "Ausstellername und Seriennummer" ein. Nach der Konfiguration sieht die Konfiguration wie folgt aus:

- Öffnen Sie den Request in SoapUI, indem Sie darauf doppelklicken:

- Wählen Sie in der Anforderung die Registerkarte "Aut". Setzen Sie die ausgehende WSS auf den Namen Ihrer ausgehenden WS-Security-Konfigurationen, die Sie in den Schritten 10 bis 12 angelegt haben.

- Nun können Sie die Anforderung über SoapUI ausführen. Es sollte eine erfolgreiche Antwort angezeigt werden.
Ausgehend vom Ariba-Webservice an Middleware:
- Stellen Sie sicher, dass Schritt 1 aus den Schritten "Eingehend zum Ariba-Webservice" abgeschlossen wurde.
-
Gehen Sie in Ariba zu Verwalten > Administration/Ariba Administrator > Integrations-Manager > Endpunktkonfiguration > Neu > Art als „Ausgehend“ auswählen.
Geben Sie für "URL" den Endpunkt an. Dies ist die Lokation, an die Ariba die SOAP-Anforderung sendet. Ariba empfiehlt die Verwendung von https; http funktioniert jedoch auch:
Beispiel:
https://<domain>:<port>/WSOutbound
- Legen Sie "Mit privatem Ariba-Schlüssel signieren" auf Ja fest, und speichern Sie den Endpunkt.
- Navigieren Sie zu Verwalten > Administration/Ariba Administrator > Integrations-Manager > Integrationskonfiguration > Wählen Sie den gewünschten Webdienst aus, bearbeiten Sie ihn, stellen Sie sicher, dass er aktiviert ist, und verwenden Sie den in Schritt 2 erstellten Endpunkt. Legen Sie außerdem die URL fest (sollte dieselbe URL wie die Endpunkt-URL sein, kann jedoch zusätzliche Parameter in der URL haben).
- Öffnen Sie die WSDL-URL, und kopieren Sie die URL im Browser.
- Legen Sie in SoapUI ein neues SoapUI-Projekt an, und verwenden Sie die aus Ariba kopierte WSDL-URL.
- Stellen Sie sicher, dass "Mock-Service anlegen" markiert ist.
- Geben Sie auf dem nächsten Bild die Daten zum Port und Pfad ein.
- Doppelklicken Sie auf das soeben angelegte Projekt.
- Klicken Sie auf die Registerkarte Keystores, und klicken Sie auf das Symbol Hinzufügen (sieht wie ein Pluszeichen (+) aus).
- Wählen Sie die in Schritt 1 des Webservice Eingehend zu Ariba angelegte Keystore-Datei (die Dateierweiterung .jks), und geben Sie das Keystore-Kennwort ein. Anschließend sollte der Keystore-Status OK sein.
- Klicken Sie auf die Registerkarte Eingehende WS-Security-Konfigurationen, und klicken Sie auf das Symbol Hinzufügen (sieht wie ein Pluszeichen (+) aus).
- Geben Sie einen Namen ein, wählen Sie den Keystore-Wert für "Keystore entschlüsseln" und "Signatur Keystore", und geben Sie das Keystore-Kennwort ein.
- Klicken Sie im SOAP-Projekt auf den MockService.
- Setzen Sie unter den MockService-Eigenschaften "Incoming WSS" auf den Namen der in Schritt 13 konfigurierten "Incoming WS-Security Configurations".
- Doppelklicken Sie auf die Antwort, und geben Sie manuell Werte ein, damit die Antwort das gewünschte Ergebnis (Erfolg oder Fehler) erfüllt. Dies ist die Antwort, die an Ariba gesendet wird, wenn die Anforderung an SoapUI gesendet wird.
- Jetzt können Sie Daten in der Ariba-Anwendung generieren, die den vorgesehenen Webservice zum Senden von Daten an Ihre SoapUI verwendet.
Weitere Informationen zum Generieren eines Keystores mit den genannten Schritten finden Sie unter:
http://www.john-james-andersen.com/blog/service-now/tutorial-soap-into-servicenow-via-x509-ws-security.html
Weitere Informationen zur spezifischen Konfiguration von WS-Security in SoapUI finden Sie unter:
http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html
Einkauf
Strategische Beschaffung
Strategische Verträge
Supplier Information and Performance Management