The following node is available in the Open Source KNIME predictive analytics and data mining platform version 2.7.1. Discover over 1000 other nodes, as well as enterprise functionality at
http://knime.com.
Generic Webservice Client
Invokes a generic document-style webservice 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 webservices that need
authentication are not accessible.
Dialog Options
- WSDL location
-
URL to the webservice'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.
- Enable HTTP Basic Authentication
-
If the service requires baisc 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
- Enable http Auto-Redirect
-
If selected, the underlying http connection will automatically
follow any redirects given by the server.
- Override Endpoint
-
If selected, the webservice 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
webservice 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 webservice 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.
Ports
Input Ports
0 |
Input table, containing parameters for the webservice
|
Output Ports
0 |
The input table with additional columns holding the results
from the webservice
|
This node is contained in KNIME WebService Client Node
provided by KNIME GmbH, Konstanz, Germany.