Please enable JavaScript to view this site.

Altova MapForce 2020 Enterprise Edition

» No topics above this level «

Calling Web Services

Scroll Home Prev Top Next More

You can design a mapping so that it calls a Web service as part of its execution. Namely, 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 (for example, preview it in the MapForce output window, pass it to another component, or write it to a file). This effectively turns MapForce into a powerful Web service client which is easily configurable from a graphical user interface. A Web service call created with MapForce may be executed either by MapForce itself, or on a different machine or even platform, by MapForce Server. The latter can run mappings through the command-line interface, as an API call, or as a FlowForce Server job, see Automation with MapForce Server.

 

MapForce supports calling both WSDL-style and REST-style Web services. Therefore, when you add a Web service to the mapping, you can use one of the following approaches:

 

For WSDL-style Web services, provide to MapForce the WSDL (Web Service Definition Language) file of the Web service to be called. 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 non-WSDL Web services, manually enter into MapForce the Web service details. This includes the URL, the request method (for example, GET, POST, PUT), request and response structure (such as XML, JSON, or custom MIME types), and parameters. Optionally, if you have the WADL (Web Application Definition Language) file of the Web service to be called, you can import the definition from the WADL file. Also, if you have a sample URL of the Web service, you can instruct MapForce to parse the URL and automatically extract any query, template, or matrix parameters from it, so that you don't have to define them manually.

 

The following table summarizes the support details of REST-style and WSDL-style Web services in MapForce.

 

Feature

REST-Style

WSDL-Style

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*

 

* Not supported in C# and Java.

Import service definition

Optionally, from WADL file

From WSDL file (required)

Import parameters from URL

Yes

Not applicable

Dynamic URL

Yes

Yes

Timeout

Yes

Yes

Dynamic authentication

Yes

Yes

 

Remarks:

 

"Dynamic URL" means that you can provide the URL of the Web service from the mapping (or as a parameter to the mapping) as an alternative to entering it in a dialog box and saving it together with the mapping.

"Timeout" means that you can configure in MapForce the interval after which the call should time out if the Web server is not responding.

"Dynamic authentication" means that you can provide the authentication details (username, password) from the mapping (or as a parameter to the mapping) as an alternative to entering them in a dialog box and saving them together with the mapping. For details, see Dynamic Authentication.

 

In the case of WSDL-style Web services, 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. For 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 slightly less common, non-SOAP HTTP services. When using HTTP GET, the url-encoded style is supported. When using HTTP POST, the url-encoded and text/xml styles are supported.

© 2019 Altova GmbH