Webservices
Sie können in MapForce 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).
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.
Außerdem können Sie in MapForce SOAP-Webservice-Projekte erstellen und Java- oder C#-Code zur Implementierung von SOAP-Webservices generieren. Nähere Informationen dazu finden Sie unter SOAP-Webservice-Projekte.
Unterstützte Webservices
MapForce unterstützt den Aufruf von WSDL-basierten Webservices und REST-Webservices (nähere Informationen siehe unten).
•Bei WSDL-basierten Webservices müssen Sie die WSDL-Datei des Webservice 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 (i) manuell oder (ii) automatisch (durch Import einer WADL-Datei oder einer URL) eingeben. Dazu gehören die URL, eine Request-Methode (z.B. GET, POST, PUT), die Request- und Response-Struktur (wie z.B. XML, JSON oder benutzerdefinierte MIME-Types) sowie Parameter.
REST-Services im Vergleich zu WSDL-basierten Webservices
Die folgende Tabelle enthält eine Übersicht darüber, was in Bezug auf REST- und WSDL-Webservices in MapForce unterstützt wird.
Funktion | REST | WSDL-basiert |
---|---|---|
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*
* wird nur in Built-in unterstützt. |
Import der Service-Definition | Aus WADL-Datei (optional) | 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 als fix (mit dem Mapping gespeichert) definieren. |
Timeout (das Intervall, nach dem der Webservice-Aufruf aufgrund einer Zeitüberschreitung abgebrochen wird, falls keine Antwort vom Webservice eintrifft). | Ja | Ja |
Dynamische Authentifizierung (die Authentifizierungsinformationen werden vom Mapping oder als Parameter für das Mapping bereitgestellt. Nähere Informationen finden Sie unter Dynamische Authentifizierung). | Ja | Ja |
WSDL-basierte Webservices
Bei Auswahl eines WSDL-basierten Webservice 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. In solchen Fällen 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 weniger gebräuchliche Nicht-SOAP HTTP-Services. Bei HTTP GET wird der Stil url-encoded unterstützt. Bei HTTP POST werden die Stile url-encoded und text/xml unterstützt.