Sie können ein Mapping so designen, dass dabei während der Ausführung ein Webservice aufgerufen wird. Sie können nämlich einen Webservice-Aufruf (ähnlich wie eine Funktion) in ein Mapping einfügen, Input- und Output-Komponenten damit verbinden und das Ergebnis nach Bedarf verarbeiten (Sie können z.B. eine Vorschau im MapForce-Ausgabefenster anzeigen, es an eine andere Komponente weiterleiten oder in eine Datei schreiben). Dadurch wird MapForce zu einem leistungsstarken und über die grafische Benutzeroberfläche leicht konfigurierbaren Webservice Client. Ein mit MapForce erstellter Webservice-Aufruf kann entweder von MapForce selbst oder auf einem anderen Rechner oder sogar auf einer anderen Plattform mit Hilfe von MapForce Server ausgeführt werden. Mappings können von MapForce Server über die Befehlszeile, als API-Aufruf oder als FlowForce Server-Auftrag ausgeführt werden, siehe Automatisierung mit MapForce Server.
MapForce unterstützt sowohl das Aufrufen von WSDL- als auch REST-Webservices. Wenn Sie ein Webservice zum Mapping hinzufügen, stehen Ihnen daher die folgenden Methoden zur Verfügung:
•Bei WSDL-Webservices müssen Sie MapForce die WSDL- (Web Service Definition Language) Datei des aufzurufenden Webservices bereitstellen. Mit Hilfe der .wsdl-Datei kann MapForce mit dem Webserver kommunizieren. Wenn in der .wsdl-Datei mehrere Services, Endpoints und Operationen implementiert sind, können Sie diese direkt in MapForce auswählen oder aktualisieren.
•Bei REST-Webservices müssen Sie die Webservice-Informationen manuell in MapForce eingeben. Dazu gehören die URL, die Request-Methode (z.B. GET, POST, PUT), die Request- und Response-Struktur (wie z.B. XML, JSON oder benutzerdefinierte MIME-Types) und die Parameter. Wenn Sie die WADL-Datei (Web Application Definition Language) des aufzurufenden Webservice zur Verfügung haben, haben Sie auch die Möglichkeit, die Definition aus der WADL-Datei zu importieren. Falls Sie eine Beispiel-URL des Webservice haben, können Sie die URL mit MapForce parsen und automatisch alle Abfrage-, Vorlagen- oder Matrixparameter daraus extrahieren, damit Sie diese nicht manuell definieren müssen.
Die folgende Tabelle enthält eine Übersicht darüber, was in Bezug auf REST- und WSDL-Webservices in MapForce unterstützt wird.
Funktionalität |
REST |
WSDL |
---|---|---|
Mapping-Sprache |
BUILT-IN |
BUILT-IN, C#, Java |
Automatisierung mit MapForce Server |
Ja |
Ja, wenn die Sprache "BUILT-IN" ist |
Protokolle |
HTTP (GET, POST, PUT, DELETE, benutzerdefinierte Verben) |
•SOAP 1.1, 1.2 über HTTP •Nicht-SOAP-Dienste über HTTP |
Request/Response-Strukturen |
•XML •JSON •Protocol Buffer •benutzerdefinierte MIME-Types |
SOAP-Nachricht |
Sicherheit |
•HTTP/HTTPS •Server-Zertifikate •Client-Zertifikate •HTTP-Authentifizierung •Authentifizierung im Vorhinein •OAuth-Autorisierung |
•HTTP/HTTPS •Server-Zertifikate •Client-Zertifikate* •HTTP-Authentifizierung •Authentifizierung im Vorhinein* •WS-Security* •OAuth-Autorisierung*
* In C# und Java nicht unterstützt |
Import der Service-Definition |
Optional aus WADL-Datei |
Aus WSDL-Datei (erforderlich) |
Import von Parametern aus der URL |
Ja |
Nicht anwendbar |
Dynamische Webservice-URL |
Sie können die vollständige URL des Webservice als Parameter für das Mapping bereitstellen oder diese im Mapping definieren. Außerdem können Sie bestimmte URL-Teile als Parameter für das Mapping bereitstellen, während die Basis-URL im Mapping definiert wird. |
Sie können die URL des Webservice als Parameter für das Mapping bereitstellen oder diese fix (mit dem Mapping gespeichert) definieren. |
Timeout1 |
Ja |
Ja |
Dynamische Authentifizierung2 |
Ja |
Ja |
Fußnoten:
1."Timeout" bedeutet, dass Sie in MapForce das Intervall konfigurieren können, nach dem der Webservice-Aufruf aufgrund einer Zeitüberschreitung abgebrochen wird, falls keine Antwort vom Webservice eintrifft.
2."Dynamische Authentifizierung" bedeutet, dass die Authentifizierungsinformationen (Benutzername, Passwort) anstelle der Eingabe in ein Dialogfeld und Speicherung der Informationen zusammen mit dem Mapping über das Mapping (oder als Parameter für das Mapping) bereitgestellt werden können. Nähere Informationen finden Sie unter Dynamische Authentifizierung.
Bei WSDL-Webservices können Sie die folgenden Protokolle verwenden:
SOAP 1.1, 1.2 über HTTP |
Es wird sowohl der Stil RPC/Encoded als auch der Stil Document/Literal unterstützt. Wenn der Webserver einen WSDL-Fehler zurückgibt, wird die Ausführung des Mappings gestoppt. Für solche Fälle können Sie optional eine Ausnahmekomponente für die Fehlerbehandlung in den Mapping-Bereich einfügen. Wenn der Webservice einen nicht-WSDL-Fehler zurückgibt, wird die Mapping-Ausführung gestoppt und eine Fehlermeldung zurückgegeben (oder auf dem Bildschirm angezeigt, wenn Sie eine Mapping-Vorschau in MapForce anzeigen). |
Nicht-SOAP über HTTP |
Dies bezieht sich auf etwas weniger gebräuchliche Nicht-SOAP HTTP-Services. Bei Verwendung von HTTP GET wird der Stil url-encoded unterstützt. Bei Verwendung von HTTP GET werden die Stile url-encoded und text/xml unterstützt. |