WSDL
In diesem Kapitel wird beschrieben, wie Sie einen WSDL-basierten Webservice Call zu einem Mapping hinzufügen und die Einstellungen des Call konfigurieren. Bevor Sie einen WSDL-Webservice-Aufruf zu Ihrem Mapping hinzufügen, stellen Sie sicher, dass Sie eine WSDL-Datei haben, in der der gewünschte Webservice, zu dem Sie eine Verbindung herstellen möchten, beschrieben ist.
Beispiele
Zum Testen der WSDL-Einstellungen können Sie die .wsdl-Beispieldateien aus dem MapForce Example-Ordner verwenden:
•<Dokumente>\Altova\MapForce2025\MapForceExamples\TimeService\TimeService.wsdl (WSDL 1.0)
•<Dokumente>\Altova\MapForce2025\MapForceExamples\TimeServiceWsdl2\TimeService20.wsdl (WSDL 2.0)
Ein Beispiel dazu finden Sie auch unter Beispiel: Aufruf eines SOAP-Webservice.
Einstellungen im Zusammenhang mit WSDL
In der Abbildung unten sehen Sie die Einstellungen eines WSDL-basierten Webservice. Informationen zu den einzelnen Einstellungen finden Sie in den Unterabschnitten weiter unten.
WSDL-Einstellungen
WSDL-Definitionen | Definiert die Web Service Definition Language (WSDL)-Datei eines Webservice.
|
Dienst | Definiert den Namen des aufzurufenden Webservice. Wenn in der WSDL-Datei mehrere Webservices definiert sind, klicken Sie auf Auswählen, um den gewünschten auszuwählen.
|
Endpoint | Bezieht sich auf den Port, unter dem der Service aufgerufen werden kann. Wenn im Webservice mehrere Webservice-Endpunkte definiert sind, klicken Sie auf Auswählen, um den gewünschten auszuwählen.
|
Operation | Definiert eine Aktion, die vom Webservice ausgeführt werden soll (z.B. kann eine getUser-Operation aufgerufen werden, um Benutzerinformationen abzurufen). Wenn im Webservice mehrere Webservice-Operationen definiert sind, klicken Sie auf Auswählen, um die gewünschte auszuwählen.
|
Verbindungseinstellungen
URL | Im Textfeld URL wird die Adresse (URL) des aufzurufenden Webservice definiert.
| ||
Dynamische URL (wird durch Mapping bereitgestellt) | Wenn Sie die URL des Webservice über das Mapping bereitstellen möchten, aktivieren Sie das Kontrollkästchen Dynamische URL (wird durch Mapping bereitgestellt). Dadurch wird in der Webservice-Konponente im Mapping ein zusätzlicher Input-Konnektor erstellt, mit dem Sie einen Input verbinden können, der die URL des Webservice bereitstellt.
Bei vollständig oder teilweise dynamischen URLs können Sie die URL flexibel nach Bedarf anpassen. So könnten Sie das Mapping etwa in der Entwicklungsphase mit einer bestimmten URL ausführen und in der Produktion eine andere URL verwenden, ohne das Mapping ändern zu müssen. Bei einer URL wie https://{host}/some/path/to/service wäre dies möglich, vorausgesetzt, der Host-Name ist der einzige Unterschied zwischen der Produktions- und der Test-URL und Sie stellen diese als Parameter für das Mapping bereit. Beachten Sie, dass durch teilweise dynamische URLs eine strengere Validierung erzwungen wird, da nur die designierten URL-Teile durch mapbare Werte oder Laufzeitwerte ersetzt werden.
Bei vollständig dynamischen URLs ist die gesamte URL mapbar und Sie haben vollständige Kontrolle darüber. Die einzige Voraussetzung ist, dass die URL mit http:// oder https:// beginnt und es sich um eine gültige URL handeln muss. Bei dynamischen URLs kann außerdem die von einem Webservice-Aufruf retournierte URL als Input für eine andere Komponente, die denselben (oder einen anderen) Webservice aufrufen kann, bereitgestellt werden.
| ||
Timeout | Der Timeout-Parameter definiert das Intervall, nach dem für den Webservice-Aufruf eine Zeitüberschreitung festgestellt wird, falls vom Server keine Antwort kommt. Wählen Sie Unendlich, falls beim Aufruf unbeschränkt lange auf eine Antwort gewartet werden soll.
|
HTTP-Sicherheitseinstellungen
In den folgenden Szenarien müssen unter Umständen HTTP-Sicherheitseinstellungen konfiguriert werden:
•Der Webservice wird über HTTPS aufgerufen. Dafür ist ein Client-Zertifikat erforderlich.
•Vom Server wird ein falsches Zertifikat verwendet. Sie möchten zulassen, dass der Host-Name zwischen Zertifikat und Request nicht übereinstimmt.
•Für den Webservice ist eine einfache HTTP-Authentifizierung oder eine OAuth 2.0-Autorisierung erforderlich.
Um die HTTP-Sicherheit einzustellen, klicken Sie neben den HTTP-Sicherheitseinstellungen auf die Schaltfläche Bearbeiten. Daraufhin wird das Dialogfeld HTTP-Sicherheitseinstellungen (Abbildung unten) aufgerufen. Weiter unten finden Sie eine Beschreibung der verfügbaren Einstellungen.
HTTPS (TLS)
Diese Gruppe von Optionen ist für Webservices, die über HTTPS aufgerufen werden, relevant.
Server-Zertifikat überprüfen | Dieses Kontrollkästchen ist standardmäßig aktiviert, d.h. MapForce ist so konfiguriert, dass es das Zertifikat des Servers überprüft, bevor mit dem Request fortgefahren wird. Wenn diese Option aktiviert ist, schlagen der Webservice-Request (und das Mapping) fehl, wenn der Server nicht vertrauenswürdig ist oder wenn Ihr Betriebssystem nicht so konfiguriert ist, dass es den Webserver als vertrauenswürdig einstuft.
Diese Option sollte nur deaktiviert werden, falls es einen gute Grund dafür gibt. Siehe auch Verwaltung digitaler Zertifikate.
|
Diskrepanz zwischen Host-Namen im Zertifikat und Request zulassen | Manchmal ist ein Zertifikat für einen bestimmten Host-Namen (z.B. www.example.com) auf einem anderen Host-Namen installiert (z.B. example.com). Aktivieren Sie dieses Kontrollkästchen, um mit der Authentifizierung fortzufahren, selbst wenn der Host-Name des Zertifikats nicht mit dem vom Webservice aufgerufenen Host-Namen übereinstimmt.
|
Client-Zertifikat | Klicken Sie auf Auswählen, um ein Client-Zertifikat aus dem Zertifikatspeicher "Aktueller Benutzer\Persönlich" auszuwählen. Dabei wird vorausgesetzt, dass das Client-Zertifikat bereits im Zertifikatspeicher "Aktueller Benutzer\Persönlich" vorhanden ist; andernfalls können Sie es über das Zertifikat-Snap-In importieren (siehe Aufrufen des Zertifikatspeichers unter Windows).
Wenn das Mapping zur Ausführung auf einem anderen Betriebssystem bereitgestellt wird, muss dasselbe Zertifikat auch auf dem Zielbetriebssystem installiert sein. Nähere Informationen dazu finden Sie unter Verwaltung digitaler Zertifikate.
|
HTTP-Authentifizierung
Diese Gruppe von Optionen ist relevant, wenn für ein Webservice eine HTTP-Authentifizierung erforderlich ist. Nähere Informationen zu diesen Optionen finden Sie unter Ausführen von Mappings mit Authentifizierung.
Keine | Aktivieren Sie diese Option, wenn für den Webservice keinerlei Authentifizierung erforderlich ist.
|
Anmeldeinformationen verwenden | Aktivieren Sie diese Option, um HTTP- oder OAuth 2.0-Anmeldeinformationen zu konfigurieren. Nähere Informationen dazu finden Sie unter Anmeldeinformationen.
|
Benutzername, Passwort | Aktivieren Sie diese Option, wenn der Benutzername und das Passwort in verschlüsselter Form in der Mapping-Datei gespeichert werden sollen. Diese Option wird nur aus Gründen der Rückwärtskompatibilität unterstützt, siehe Speicherung von Benutzername und Passwort.
|
Dynamische Authentifizierung | Aktivieren Sie dieses Kontrollkästchen, wenn der Benutzername und das Passwort über das Mapping bereitgestellt werden sollen, anstatt dass Sie diese in dieses Dialogfeld eingeben. Nähere Informationen dazu finden Sie unter Dynamische Authentifizierung.
|
Authentifizierung im Vorhinein | Aktivieren Sie dieses Kontrollkästchen, wenn der Webservice so konfiguriert ist, dass er im ersten Aufruf die Authentifizierungsdaten erwartet.
Andernfalls versucht MapForce den Webservice ohne Benutzernamen und Passwort aufzurufen und verwendet diese erst, wenn der Server die Authentifizierung anfordert (HTTP-Status 401).
|
WS-Security-Einstellungen
Die WS-Security-Einstellungen müssen konfiguriert werden, wenn der Webservice durch WS-Security geschützt ist, sodass Sie das Benutzernamentoken-Sicherheitstoken angeben müssen. Beachten Sie, dass diese Einstellungen nur mit Built-in kompatibel sind.
Konventionen
In diesem Kapitel werden die folgenden Namespace-Abkürzungen verwendet:
Präfix | Namespace |
wsse | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd |
wsu | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd |
Konfigurieren der WS-Security-Einstellungen
Um die WS-Security zu konfigurieren, klicken Sie im Abschnitt WS-Security-Einstellungen des Dialogfelds WebService-Call-Einstellungen auf die Schaltfläche Bearbeiten. Daraufhin wird das Dialogfeld WS-Security-Einstellungen aufgerufen (Abbildung unten).
Weiter unten finden Sie eine Beschreibung der verfügbaren Einstellungen.
Benutzernamentoken hinzufügen | Die Einstellung Benutzernamentoken ist ein optionales WS-Security-Element, das im Header der SOAP-Nachricht enthalten ist. Anhand des Benutzernamentokens authentifiziert der Webserver, wer den Webservice aufruft. In der wsse-Spezifikation entspricht dieses Feld:
/wsse:UsernameToken
|
Benutzername | Geben Sie den im Benutzernamentoken enthaltenen Benutzernamen ein. In der wsse-Spezifikation entspricht dieses Feld:
/wsse:UsernameToken/wsse:Username
|
Passwort | Geben Sie den Passworttext für das Benutzernamentoken ein. In der wsse-Spezifikation entspricht dieses Feld:
/wsse:UsernameToken/wsse:Password
|
Passworttyp | Wählen Sie den Passworttyp für das Benutzernamentoken aus. Wählen Sie Digest, wenn der Webserver das Passwort in diesem Modus erwartet; wählen Sie andernfalls Text aus. In der wsse-Spezifikation entspricht dieses Feld:
/wsse:UsernameToken/wsse:Password/@Type
|
Dynamische Authentifizierung | Aktivieren Sie dieses Kontrollkästchen, wenn der Benutzername und das Passwort über das Mapping bereitgestellt werden sollen, anstatt dass Sie diese in dieses Dialogfeld eingeben.
|
Nonce hinzufügen | Aktivieren Sie dieses Kontrollkästchen, wenn Sie ein Nonce zum Benutzernamentoken hinzufügen möchten. Ein Nonce ist ein Zufallswert, anhand dessen jedes einzelne Benutzernamentoken eindeutig identifiziert wird. Dies ist eine zusätzliche Sicherheitsvorkehrung. Wenn Sie diese Option aktivieren, empfiehlt es sich auch, die Option "Erstellt"-Zeitstempel hinzufügen zu aktivieren. In der wsse-Spezifikation entspricht dieses Feld:
/wsse:UsernameToken/wsse:Nonce
|
"Erstellt"-Zeitstempel hinzufügen | Aktivieren Sie diese Option, um zu jedem Nonce einen Zeitstempel hinzuzufügen. In der wsse-Spezifikation entspricht dieses Feld:
/wsse:UsernameToken/wsu:Created
|
Zeitstempel hinzufügen | Aktivieren Sie dieses Kontrollkästchen, wenn Sie den TTL (time-to-live)-Wert für die SOAP-Nachricht aktivieren möchten (siehe nächste Option). In der wsse-Spezifikation entspricht dieses Feld:
/wsu:Timestamp
|
Restzeit | Geben Sie den TTL (time-to-live)-Wert, also die Restzeit für die SOAP-Nachricht ein, um das Risiko, dass jemand die Nachricht abfängt und sie erneut sendet, zu verringern.
|
Alle Dateipfade relativ zur MFD-Datei speichern
Wenn diese Option aktiviert ist, speichert MapForce die im Dialogfeld Komponenteneinstellungen angezeigten Dateipfade relativ zum Ordner, in dem sich die MapForce Design (.mfd)-Datei befindet. Siehe auch Relative und absolute Pfade.