Web Services
In MapForce, you can insert a Web service call into a mapping similar to a function, connect input and output components to it, and consume the result as required (e.g., you can preview it in the MapForce output window, pass it to another component, or write it to a file).
A Web service call created with MapForce can be executed by MapForce itself or on a different machine or even platform, by MapForce Server. MapForce Server can run mappings through the command-line interface, as an API call or as a FlowForce Server job. For details, see Automation with MapForce Server.
MapForce also allows you to design SOAP Web service projects and generate Java or C# code that implements SOAP Web services. For more information, see SOAP Web Service Projects.
Supported Web services
MapForce supports calling WSDL-based and REST Web services (see details below).
•For WSDL-based Web services, you need to provide the WSDL file of the Web service. MapForce uses the WSDL file to communicate with the Web server. If the WSDL file implements multiple services, endpoints, and operations, you can select or update them directly in MapForce.
•For REST Web services, you need to enter Web service details (i) manually or (i) automatically (by importing a WADL file or a URL). The Web service details include a URL, a request method (e.g., GET, POST, PUT), request and response structures (e.g., XML, JSON, custom MIME types), and parameters.
REST vs. WSDL-based Web services
The table below summarizes support details of REST and WSDL-based Web services in MapForce.
Feature | REST | WSDL-based |
---|---|---|
Mapping language | Built-In | Built-In, C#, Java |
Automation with MapForce Server | Yes | Yes, when language is Built-In |
Protocols | HTTP (GET, POST, PUT, DELETE, custom verbs) | •SOAP 1.1, 1.2 over HTTP •Non-SOAP services over HTTP |
Request/response structures | •XML •JSON •Protocol Buffers •Custom MIME types | SOAP message |
Security | •HTTP/HTTPS •Server certificates •Client certificates •HTTP authentication •Preemptive authentication •OAuth authorization | •HTTP/HTTPS •Server certificates •Client certificates* •HTTP authentication •Preemptive authentication* •WS-Security* •OAuth authorization*
* Supported only in Built-In. |
Import service definition | From WADL file (optional) | From WSDL file (required) |
Import parameters from URL | Yes | Not applicable |
Dynamic Web service URL | You can provide the full URL of the Web service as a parameter to the mapping or define it inside the mapping. You can also supply specific URL parts as parameters to the mapping while the base URL is defined in the mapping. | You can provide the URL of the Web service as a parameter to the mapping or make it fixed (saved together with the mapping). |
Timeout (the interval after which the call should time out if the Web server is not responding) | Yes | Yes |
Dynamic authentication (Authentication details supplied by the mapping or as a parameter to the mapping. For details, see Dynamic Authentication.) | Yes | Yes |
WSDL-based Web serivces
When you select a WSDL-based Web service, you can use the following protocols:
•SOAP 1.1, 1.2 over HTTP: Both the RPC/Encoded and Document/Literal styles are supported. If the Web server returns a WSDL fault, the mapping execution stops. In such cases, you can optionally insert an exception component on the mapping area to handle the error. If the Web server returns a non-WSDL error, the mapping execution stops, and an error message is returned (or displayed on the screen if you are previewing the mapping in MapForce).
•Non-SOAP over HTTP: This refers to less common, non-SOAP HTTP services. With HTTP GET, the url-encoded style is supported. With HTTP POST, the url-encoded and text/xml styles are supported.