Altova MapForce 2025 Enterprise Edition

Web Services

Home Prev Top Next

MapForce supports WSDL-based and non-WSDL Web services. Non-WSDL Web services include a large category of generic HTTP APIs that are often referred to as REST or RESTful APIs.

 

About WSDL-based Web services

A WSDL-based Web service uses a WSDL (Web Services Description Language) file to describe the service's operations, input and output messages, and network details. WSDL files are XML-based and typically use the SOAP protocol that defines how messages are exchanged between a client and a service.

 

MapForce also allows you to design SOAP Web service projects and generate Java or C# code that implements SOAP Web services. Besides, you can make a Web service call to your SOAP Web service and output the response data to any format supported in MapForce. If the WSDL file implements multiple services, endpoints, and operations, you can select or update them directly in MapForce.

 

Protocols of WSDL-based services

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 in 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.

 

About HTTP APIs

HTTP APIs typically have request or response structures in the message body part. MapForce supports the following kinds of request and response bodies: JSON, XML, Protocol Buffers, and unstructured bodies with custom MIME types.

 

For HTTP APIs, you can enter Web service details manually or automatically. 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.

 

XML and JSON

You can use JSON, XML, or DTD schemas for your request/response structures. MapForce can also accept an XML file with a valid schema reference. Besides, you can also import the Web service definition from a WADL file and make any necessary adjustments manually. Note, however, that WADL provides no standard way to define JSON structures, only XML structures.

 

If you have a sample XML or JSON instance file without a schema file, you can create or generate the schema with XMLSpy (https://www.altova.com/xmlspy.html). If necessary, XMLSpy can also convert your instance file from XML to JSON, or vice versa.

 

Protocol Buffers

In case you want to work with Protocol Buffers requests and responses, you will need a .proto file that describes the Protocol Buffers binary file. In this scenario, the body of the Web service can be mapped to or from a Protocol Buffers component. For more information, see Example: Read Data from Protocol Buffers and Example: Write Data to Protocol Buffers.

 

Unstructured bodies with custom MIME types

You can also call Web services where the request or response structure is flexible and not tied to a particular schema. For such cases, you can use MapForce built-in mime functions to create a raw message body sent to a Web service (the MIME entity) or process from the mapping the MIME entity returned by the Web service.

 

HTTP APIs vs. WSDL-based Web services

The table below summarizes support details of HTTP APIs and WSDL-based Web services in MapForce.

 

Feature

HTTP APIs

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.

Service definition

Can be defined manually

Can be imported from:

 

oa WADL file

oa URL

oan OpenAPI file

 

Must be imported from a WSDL file

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

 

© 2018-2024 Altova GmbH