WSDL
This topic describes how to add a WSDL-based Web service call to a mapping and configure the call's settings. Before adding a WSDL-style Web service call to your mapping, make sure you have a WSDL file that describes the Web service to which you want to connect.
Examples
To test the WSDL settings, you can use the sample .wsdl files that are available in the MapForce Example folder:
•<Documents>\Altova\MapForce2025\MapForceExamples\TimeService\TimeService.wsdl (WSDL 1.0)
•<Documents>\Altova\MapForce2025\MapForceExamples\TimeServiceWsdl2\TimeService20.wsdl (WSDL 2.0)
For an example, see also Example: Calling a SOAP Web Service.
WSDL-related settings
The screenshot below illustrates the settings of a WSDL-based Web service. For information about each setting, see the subsections below.
WSDL Settings
WSDL Definitions | Specifies the Web Service Definition Language (WSDL) file of a Web service.
|
Service | Specifies the name of the Web service to be called. If the WSDL file defines multiple web services, click Choose to select the required one.
|
Endpoint | Refers to the location (port) where the service can be accessed. If the selected Web service defines multiple web service endpoints, click Choose to select the required one.
|
Operation | Specifies an action to be performed by the Web service (e.g., the getUser operation can be invoked to retrieve user details). If the selected endpoint defines multiple web service operations, click Choose to select the required one.
|
Connection settings
URL | The URL text box specifies the address (URL) of the Web service you want to call.
| ||
Dynamic URL (supplied by mapping) | If you would like to supply the URL of the Web service from the mapping, select the Dynamic URL (supplied by mapping) check box. This creates an additional input connector in the Web service component in the mapping, to which you can connect some input which provides the URL of the Web service.
With fully or partially dynamic URLs, you can flexibly adjust the URL according to your needs. For example, you could run the mapping with a specific URL during development and use a different URL in production, without modifying the mapping. A URL like https://{host}/some/path/to/service would make this possible, assuming that the host name is the only difference between the production and testing URLs, and you supply it as a parameter to the mapping. Note that partially dynamic URLs enforce stricter validation, since only the designated URL parts are replaced with mappable or runtime values.
With fully dynamic URLs, the entire URL is mappable and you have complete control over it; the only requirement is that the URL must begin with http:// or https:// and it must be a valid URL. Dynamic URLs also make it possible to supply the URL returned from a Web service call as input to another component which may call the same (or some other) Web service.
| ||
Timeout | The Timeout parameter defines the time interval after which the Web service call will time out if there is no response from the server. Select Infinite if the call should wait for a response for an indefinite amount of time.
|
HTTP security settings
You may need to configure HTTP security settings in the following scenarios:
•The Web service is called through HTTPS and requires a client certificate.
•The server uses an incorrect certificate, and you would like to allow a host name mismatch between the certificate and request.
•The Web service requires basic HTTP authentication or OAuth 2.0 authorization.
To set HTTP security, click the Edit button next to HTTP Security Settings. This opens the HTTP Security Settings dialog (screenshot below). The available settings are described in the subsections below.
HTTPS (TLS)
This group of options is relevant to Web services called through HTTPS.
Check Server Certificate | This check box is selected by default, meaning MapForce is configured to check the certificate of the server before proceeding with the request. When this option is enabled, the Web service request (and the mapping) will fail if the server is not trusted, or if your operating system is not configured to trust the Web server.
It is not recommended to disable this option unless you have a good reason to do so. See also Digital Certificate Management.
|
Allow host name mismatch between certificate and request | Sometimes a server certificate issued for a particular host name (for example, www.example.com) is installed on a different host name (for example, example.com). Select this check box to proceed with authentication even if the host name of the certificate does not match the host name called by the Web service.
|
Client certificate | Click Select to choose a client certificate from the Current User\Personal certificate store. This assumes the client certificate already exists in the Current User\Personal certificate store; otherwise, you can import it using the Certificates snap-in (see Accessing the Certificate Stores on Windows).
If the mapping will be deployed for execution to another operating system, the same certificate must be installed on the target operating system as well. For further information, see Digital Certificate Management.
|
HTTP Authentication
This group of options is relevant when a Web service requires HTTP authentication. For more information about these options, see Running Mappings with Authentication.
None | Select this option if the Web service does not require any kind of authentication.
|
Use credential | Select this option to configure HTTP or OAuth 2.0 credentials. For more information, see Credentials.
|
Username, Password | Select this option if you would like to store the username and password in encrypted form in the mapping file. This option is supported only for backward compatibility, see Stored Username and Password.
|
Dynamic authentication | Select this check box if you would like to supply the username and password from the mapping instead of entering them into this dialog box. For more information, see Dynamic Authentication.
|
Preemptive authentication | Select this check box if the Web service is configured to expect authentication data in the first call.
Otherwise, MapForce attempts access without username and password and will use them if the server requires authorization (HTTP status 401).
|
WS-Security settings
The WS-Security settings must be configured if the Web service is protected by WS-Security and requires that you provide the UsernameToken security token. Note that these settings are compatible only with Built-In.
Conventions
The following abbreviations of namespaces are used in this topic:
Prefix | Namespace |
wsse | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd |
wsu | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd |
Configure WS-Security Settings
To set WS-Security, click the Edit button in the WS-Security Settings section of the Web Service Call Settings dialog box. This opens the SW-Security Settings dialog box (screenshot below).
The available settings are described below.
Add UsernameToken | The UsernameToken setting is an optional WS-security element that is present in the header of the SOAP message. The UsernameToken is used by the Web server to authenticate the caller of the Web service. In the wsse specification, this field corresponds to the following:
/wsse:UsernameToken
|
Username | Enter the username included in the UsernameToken. In the wsse specification, this field corresponds to the following:
/wsse:UsernameToken/wsse:Username
|
Password | Enter the text of the password included in the UsernameToken. In the wsse specification, this field corresponds to the following:
/wsse:UsernameToken/wsse:Password
|
Password type | Select the type of password included in the UsernameToken. Select Digest if the Web server expects the password in this mode; otherwise select Text. In the wsse specification, this field corresponds to:
/wsse:UsernameToken/wsse:Password/@Type
|
Dynamic authentication | Select this check box if you would like to supply the username and password from the mapping instead of entering them into this dialog box.
|
Add nonce | Select this check box if you want to add a nonce to the Username token. A nonce is a random value which uniquely identifies each UsenameToken to provide additional security. If you enable this option, it is recommended to enable the Add "Created" timestamp option as well. In the wsse specification, this field corresponds to the following:
/wsse:UsernameToken/wsse:Nonce
|
Add "Created" timestamp | Select this option to add a timestamp to each nonce. In the wsse specification, this field corresponds to the following:
/wsse:UsernameToken/wsu:Created
|
Add Timestamp | Select this check box if you want to enable the time-to-live (TTL) value for the SOAP message (see the next option). In the wsu specification, this field corresponds to the following:
/wsu:Timestamp
|
Time to live | Enter a time-to-live (TTL) value for the SOAP message to diminish the chance of someone intercepting the message and replaying it.
|
Save all file paths relative to MFD file
When this option is enabled, MapForce saves the file paths displayed in the Component Settings dialog box relative to the location of the MapForce Design (.mfd) file. See also Relative and Absolute Paths.