Generic Web Service Client

Invokes a generic document-style web service given its WSDL location. In the dialog you first have to enter the URL to the webservice's description file (WSDL file). Then you have to choose a service (usually there is only one available), a port (or binding) and an operation. The two tables at the bottom will then display the webservice's input parameters and the output values it produces.
Each of the input parameters must be mapped to either a column from the input table, which you can choose in the rightmost column of the table (just click into it to get an editor to choose a column), or a constant value, which you can enter in the second-rightmost column after having activated the checkbox for constant values.
In the bottom table you may decide which output values you want to include in the output table. For each desired output parameter, activate the "Include" check box and enter the respective output column name. The "All in List" field will contain check boxes if the output parameter represents a collection (see below)
Please note, that this node does currently not support optional input parameters. Also web services that need authentication are not accessible.

Options

WSDL location
URL to the web service's WSDL file. After entering the URL you have to click on the Analyze button. Note that fetching and parsing the WSDL takes place in background (buttons will be disabled).
Service
List of available services in the WSDL file, usually there is only one service available in which case the box is disabled.
Ports
List of available ports for the selected service. Usually there is only one port available in which case the box is disabled.
Operations
List of available operations for the chosen port. The input- and output parameter trees will update if a different operation is selected here.
Input
Table with all required input parameters which you have to be mapped to columns or constant values as described above. The table represents elements of a tree that is constructed by analyzing the complex input parameter types. The different columns represent:
  • Parameter: The name of the parameter
  • Type: Type of the parameter (this can be as easy as string or double but also more complex, such as the name of dynamically generated classes)
  • Constant?: Select the box when the corresponding parameter is a constant value for each web service invocation (each input row = one invocation) or whether it should be a dynamic value defined by the current input row. If selected, enter the value to be used in the column "Constant value". If the checkbox is not selected, you need to select a table input column in the field "Mapped value". Each invocation of the web service will then use the value of the current row in the selected input table column.
  • Constant value: The value that is to be used when the "Constant?" check box is selected. The entered string must comply with the expected type (otherwise the execution will fail). Note, the "Constant value" field will be a drop-down instead of a text field if the parameter is a predefined enumeration of values).
  • Mapped column: The column whose value is used for the current invocation.
Output
Table with all output values which you can assign to new column in the output table as described above. The values in the column are as follows:
  • Parameter: The name of the parameter (see above)
  • Type: Type of the parameter (see above)
  • Include?: Whether to include this parameter in the output table. It selected, this value will constitute one new column in the output table.
  • Output column?: The name of the column that will be append to the output table.
  • All in list: If a type represents a collection and this option is checked, all list elements will be returned. Each list element will thereby be represented by a separate row. If unselected, only the first list element (if any) will be returned. Note that if you have lists of lists in the output parameter tree (both of which are checked), these will be flattened (the row count for a single invocation is outer_list_size times inner_list_size). Likewise, if the output parameter tree contains different lists on the same level, these will be treated independently, whereby new output columns that are covered by the elements in one list will be filled with missing values when processing the respectively other list.
Retrieve SOAP Body as XML
If enable the entire web service result is retrieved as pure XML. One column called "XML" is appended containing the SOAP response.
Enable HTTP Basic Authentication
If the service requires http authentication, enable this box and enter login credentials. This can be done by choosing credentials globally defined on the workflow; or by entering user name and password in the corresponding fields. Different authentication options are available (BASIC, DIGEST, NTLM).
Fail Policy
Define when the node should fail. This only applies to problems executing the web service, assuming that the connection can be made. Options are:
  • Fail when all invocations fail: Ignores individual errors of rows but fails when all rows in the table cause failures.
  • Fail when any invocation fails: Fails as soon as it encounters a row that is causing a problem.
  • Don't fail: Never fails (on problems related to the web service invocation).
Enable http Auto-Redirect
If selected, the underlying http connection will automatically follow any redirects given by the server.
Allow Chunking
If selected, the underlying http connection will allow chunking.
Override Endpoint
If selected, the web service endpoint as given in the wsdl will be overwritten using the value entered in the accompanying text field.
Add SOAP Header
An XML tree that will be inserted into the soap header of outgoing soap request (for instance identification tags required by the server). Note, the text snippet needs to be valid XML.
Parallel Invocation Count
The number of maximum asynchronous invocations (an invocation translates to the processing of a single input row). The "optimal" number depends on the endpoint. A high number increases the parallel job count at the service endpoint, possibly leading to an overload situation or a lock-out of the client. A low value increases the overall execution time.
Row Cache Size
The number of rows to be kept in memory at most. The output table will retain the same ordering as the input table. If for any reason the processing of a row takes significantly longer than the processing time of other rows, the web service invocation will stall, keeping at most this number of rows in memory.
New RowID suffix
The string (usually only a character such as '_') is used when the web service returns a list, and new row IDs need to be created. These new IDs will have the same base name as the original row ID + a suffix (the value entered here) + an increasing counter.

Input Ports

Icon
Input table, containing parameters for the web service

Output Ports

Icon
The input table with additional columns holding the results from the web service.

Views

This node has no views

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.