tESBConsumer
defined, based on the given parameters.
tESBConsumer Standard properties
These properties are used to configure tESBConsumer running in the Standard Job framework.
The Standard
tESBConsumer component belongs to the ESB family.
The component in this framework is available in all Talend
products.
Basic settings
Service configuration |
Description of Web service bindings and configuration. The |
Input Schema and Edit schema |
A schema is a row description. It defines the number of fields Click Edit
|
 |
Built-in: The schema is created and |
 |
Repository: The schema already exists |
Response Schema and Edit schema |
A schema is a row description. It defines the number of fields Click Edit
|
 |
Built-in: The schema is created and |
 |
Repository: The schema already exists |
Fault Schema and Edit schema |
A schema is a row description. It defines the number of fields Click Edit
|
 |
Built-in: The schema is created and |
 |
Repository: The schema already exists |
Use Service Registry |
This option is only available if you subscribed to Talend Enterprise ESB solutions. Select this check box to enable the Service Registry. It Enter the authentication credentials in the Username and Password field. If SAML token is registered in the service registry, you need In the Correlation Value For more information about how to set up and use the Service |
Use Service Locator |
Maintains the availability of the service to help meet demands This option will not show if the Use |
 Use Service Activity |
Captures events and stores this information to facilitate This option is disabled when the Use |
 Use Authentication |
Select this check box to enable the authentication option. When SAML Token (ESB runtime
–: Enter the username and the password
Propagate using U/P: Enter the user name
Propagate using Certificate: Enter the To enter the password, click the […] button next to the This option will not show if the Use |
Use Authorization |
This option is only available if you subscribed to Talend Enterprise ESB solutions. Select this check box to enable authorized call. Specify the For more information about the management of user roles and |
Encryption/Signature body |
Select this check box to enable XML Encryption/XML Signature. This option appears when SAML Token |
Use Business Correlation |
Select this check box to create a correlation ID in this You can specify a correlation ID in the Correlation Value field. In this case the When this option is enabled, tESBConsumer will also extract the correlation ID from the This option will be enabled automatically when the Use Service Registry check box is selected. |
Use GZip Compress |
Select this check box to compress the incoming messages into GZip format before |
Die on error |
Select this check box to kill the Job when an error occurs. |
Advanced settings
Log messages | Select this check box to log the message exchange between the service provider and the consumer. |
||
Service Locator Custom Properties |
This table appears when Use Service |
||
Service Activity Custom Properties |
This table appears when Use Service Activity |
||
Connection time out(second) |
Set a value in seconds for Web service connection time out. This option only works in the studio. To use it after the component is
|
||
Receive time out(second) |
Set a value in seconds for server answer. This option only works in the studio. For how to use it after the |
||
Disable Chunking |
Select this check box to disable encoding the payload as chunks. In |
||
Trust server with SSL/TrustStore |
Select this check box to validate the server certificate to the client
TrustStore file: Enter the path
TrustStore password: Enter the password |
||
Use http proxy/Proxy host, Proxy |
Select this check box if you are using a proxy server and fill in the To enter the password, click the […] button next to the |
||
HTTP Headers |
Click [+] as many times as required to add the name-value pair(s) for HTTP headers to define the parameters of the requested HTTP operation. |
||
tStatCatcher Statistics |
Select this check box to gather the Job processing metadata at a Job |
Global Variables
Global Variables |
NB_LINE: the number of rows processed. This is an After
CORRELATION_ID: the correlation ID by which chained
ERROR_MESSAGE: the error message generated by the
HTTP_RESPONSE_CODE: HTTP response status code. This is an After variable and
HTTP_HEADERS: A Flow variable functions during the execution of a component while an After variable To fill up a field or expression with a variable, press Ctrl + For further information about variables, see |
Usage
Usage rule |
This component can be used as an intermediate component. It requires |
Dynamic settings |
Click the [+] button to add a row in the Once a dynamic parameter is defined, the corresponding option becomes For examples on using dynamic parameters, see Reading data from databases through context-based dynamic connections and Reading data from different MySQL databases using dynamically loaded connection parameters. For more information on Dynamic |
Limitation |
A JDK is required for this component to operate. |
Using tESBConsumer to retrieve the valid email
This scenario describes a Job that uses a tESBConsumer component to retrieve the valid email.
Dropping and linking the components
-
Drop the following components from the Palette onto the design workspace: a tFixedFlowInput, a tESBConsumer, two tXMLMap,
and two tLogRow components. -
Right-click the tFixedFlowInput
component, select Row > Main from the contextual menu and click the first
tXMLMap component. -
Right-click the tXMLMap component, select
Row > *New
Output* (Main) from the contextual menu and click the
tESBConsumer component. Enter
payload in the popup dialog box to name this row
and accept the propagation that prompts you to get the schema from the
tESBConsumer component. -
Right-click the tESBConsumer component,
select Row > Response from the contextual menu and click the second
tXMLMap component. -
Right-click the second tXMLMap component,
select Row > *New
Output* (Main) from the contextual menu and click the second
tLogRow component. Enter
response in the popup dialog box to name this
row. -
Right-click the tESBConsumer component
again, select Row > Fault from the contextual menu and click the
other tLogRow component.
Configuring the components
The tLogRow components will monitor the exchanges
from the response and fault messages and does not need any configuration. Press
Ctrl+S to save your Job.
Configuring the tESBConsumer component
In this scenario, a public web service which is available at http://www.webservicex.net/ValidateEmail.asmx will be called by the
tESBConsumer component to returns true or
false for an email address. You can view the WSDL definition of the service at
http://www.webservicex.net/ValidateEmail.asmx?WSDL for the service
description.
-
In the design workspace, double-click the tESBConsumer component to open its Basic settings view in the Component tab.
-
Click the three-dot button next to Service
configuration. -
In the dialog box that appears, type in:
http://www.webservicex.net/ValidateEmail.asmx?WSDL
in the WSDL field and click the refresh
button to retrieve port name and operation name. In the Port Name list, select the port you want to use,
ValidateEmailSoap in this example.Select the Populate schema to repository on
finish to retrieve the schema from the WSDL definition, which
will be used by the tFixedFlowInput
component. This option is only available to users of
Talend Studio
with ESB. If you don’t have this option,
please ignore it. The schema can be created manually in the tFixedFlowInput component, which will be shown
later.Click Finish to validate your settings
and close the dialog box. -
Click the Advanced settings view in the
Component tab. -
Select the Log messages check box to show
the exchange log in the execution console.
Configuring the tFixedFlowInput component
-
Double-click the tFixedFlowInput
component to open its Basic settings view
in the Component tab. -
For users of
Talend Studio
with
ESB who have retrieved the schema from the service WSDL definition in the
configuration of the tESBConsumer
component, select Repository from the
Schema list. Then click the […] of the next field to show the Repository Content dialog box. Select the
metadata under the IsValidEmail node to use it as the
schema of the input message. Click OK to
close the dialog box.For users of
Talend Studio
without ESB, please go to the next step. -
For users of
Talend Studio
without ESB, the schema need to be created manually. Select Built-In from the Schema list.Click the three-dot button next to Edit
Schema. In the schema dialog box, click the plus button to
add a new line of String type and name it
Email. Click OK to
close the dialog box. -
In the Number of rows field, set the
number of rows as 1. -
In the Mode area, select Use Single Table and input the following request
in double quotation marks into the Value
field:nomatter@gmail.com
Configuring the tXMLMap component in the input flow
Talend
data
integration uses schemas based on rows and columns since it has roots in
relational data warehouse integration. But SOAP messages uses the XML format.
XML is hierarchical and supports richer structure than rows or columns. So we
need the tXMLMap to convert from the relational
row/column structure to the schema expected by the SOAP service.
-
In the design workspace, double-click the tXMLMap component to open the Map
Editor. -
In the output table, right-click the root node and select Rename from the contextual menu. Enter
IsValidEmail in the dialog box that appears. -
Right-click the IsValidEmail node and select
Set A Namespace from the contextual
menu. Enter http://www.webservicex.net in the dialog
box that appears. -
Right-click the IsValidEmail node again and select
Create Sub-Element from the contextual
menu. Enter Email in the dialog box that
appears. - Right-click the Email node and select As loop element from the contextual menu.
-
Click the Email node in the input table and drop it
to the Expression column in the row of the
Email node in the output table. -
Click OK to validate the mapping and
close the Map Editor.
Configuring the tXMLMap component in the output flow
The tXMLMap in the output flow will convert
the response message from the XML format to the row/column structure.
- In the design workspace, double-click the tXMLMap component in the output flow to open the Map Editor.
-
In the input table, right-click the root node and select Rename from the contextual menu. Enter
IsValidEmailResponse in the dialog box that
appears. -
Right-click the IsValidEmailResponse node and select
Set A Namespace from the contextual
menu. Enter http://www.webservicex.net in the dialog
box that appears. -
Right-click the IsValidEmailResponse node again and
select Create Sub-Element from the
contextual menu. Enter IsValidEmailResult in the dialog
box that appears. -
Right-click the IsValidEmailResult node and select
As loop element from the contextual
menu. -
On the lower right part of the map editor , click [+] to add a row of
String
type to the output
table and name it response. -
Click the IsValidEmailResult node in the input table
and drop it to the Expression column in the
row of the response node in the output table. -
Click OK to validate the mapping and
close the Map Editor.
Executing the Job
Click the Run view to display it and click the
Run button to launch the execution of your Job.
You can also press F6 to execute it. In the
execution log you will see:
The email address nomatter@gmail.com
is returned as
false
. The input and output SOAP messages in XML are also shown in
the console.
Using tESBConsumer with custom SOAP Headers
This scenario is similar to the previous one. It describes a Job that uses a
tESBConsumer component to retrieve a valid email
address with custom SOAP headers in the request message.
Dropping and linking the components
-
Drop the following components from the Palette onto the design workspace: a tESBConsumer, a tMap, two
tFixedFlowInput, three tXMLMap, and two tLogRow. -
Connect each of the tFixedFlowInput with
a tXMLMap using the Row > Main
connection. -
Right-click the first tXMLMap, select
Row > *New
Output* (Main) from the contextual menu and click tMap. Enter payload in the
popup dialog box to name this row.Repeat this operation to connect another tXMLMap to tMap and name
the output row header. -
Right-click the tMap component, select
Row > *New
Output* (Main) from the contextual menu and click the
tESBConsumer component. Enter
request in the popup dialog box to name this row
and accept the propagation that prompts you to get the schema from the
tESBConsumer component. -
Right-click the tESBConsumer component,
select Row > Response from the contextual menu and click the third
tXMLMap component. -
Right-click the third tXMLMap component,
select Row > *New
Output* (Main) from the contextual menu and click one of the
tLogRow components. Enter
response in the popup dialog box to name this
row. -
Right-click the tESBConsumer component
again, select Row > Fault from the contextual menu and click the
other tLogRow component.
Configuring the components
The tLogRow components will monitor the exchanges
from the response and fault messages and does not need any configuration. Press
Ctrl+S to save your Job.
Configuring the tESBConsumer component
In this scenario, a public web service which is available at http://www.webservicex.net/ValidateEmail.asmx will be called by the
tESBConsumer component to returns true or
false for an email address. You can view the WSDL definition of the service at
http://www.webservicex.net/ValidateEmail.asmx?WSDL for the service
description.
-
In the design workspace, double-click the tESBConsumer component to open its Basic settings view in the Component tab.
-
Click the […] button next to Service configuration.
-
In the dialog box that appears, type in:
http://www.webservicex.net/ValidateEmail.asmx?WSDL
in the WSDL field and click the refresh
button to retrieve port name and operation name. In the Port Name list, select the port you want to use,
ValidateEmailSoap in this example. Click OK to validate your settings and close the dialog
box.Select the Populate schema to repository on
finish to retrieve the schema from the WSDL definition, which
will be used by the tFixedFlowInput
component. This option is only available to users of
Talend Studio
with ESB. If you don’t have this option,
please ignore it. The schema can be created manually in the tFixedFlowInput component, which will be shown
later.Click Finish to validate your settings
and close the dialog box. -
In the Advanced settings view, select the
Log messages check box to log the
content of the messages.
Configuring the tFixedFlowInput components
-
Double-click the first tFixedFlowInput
component to open its Basic settings view
in the Component tab. -
For users of
Talend Studio
with
ESB who have retrieved the schema from the service WSDL definition in the
configuration of the tESBConsumer
component, select Repository from the
Schema list. Then click the […] of the next field to show the Repository Content dialog box. Select the
metadata under the IsValidEmail node to use it as the
schema of the input message. Click OK to
close the dialog box.For users of
Talend Studio
without ESB, please go to the next step. -
For users of
Talend Studio
without ESB, the schema need to be created manually. Select Built-In from the Schema list.Click the […] button next to Edit Schema. In the schema dialog box, click the
[+] button to add a new line of
String type and name it
Email. Click OK to
close the dialog box. -
In the Number of rows field, set the
number of rows as 1. -
In the Mode area, select Use Single Table and enter
"nomatter@gmail.com"
into the Value field, which is the payload of the request
message. -
Configure the second tFixedFlowInput as
the first one, except for its schema.Add two rows of String type to the schema
and name them id and
company respectively.Give the value Hello world! to
id and Talend to
company, which are the headers of the request
message.
Configuring the tXMLMap components in the input flow
Talend
data
integration uses schemas based on rows and columns since it has roots in
relational data warehouse integration. But SOAP messages uses the XML format.
XML is hierarchical and supports richer structure than rows or columns. So we
need the tXMLMap to convert from the relational
row/column structure to the schema expected by the SOAP service.
-
In the design workspace, double-click the first tXMLMap component to open the Map
Editor. -
In the output table, right-click the root node and select Rename from the contextual menu. Enter
IsValidEmail in the dialog box that appears. -
Right-click the IsValidEmail node and select
Set A Namespace from the contextual
menu. Enter http://www.webservicex.net in the dialog
box that appears. -
Right-click the IsValidEmail node again and select
Create Sub-Element from the contextual
menu. Enter Email in the dialog box that
appears. - Right-click the Email node and select As loop element from the contextual menu.
-
Click the Email node in the input table and drop it
to the Expression column in the row of the
Email node in the output table. -
Click OK to validate the mapping and
close the Map Editor. -
Configure the other tXMLMap in the same
way. Add a row ofDocument
type to the output table and name it
header. Create two sub-elements to it,
id and company. Map the
id and the company nodes in
the input table to the corresponding nodes in the output table.
Configuring the tMap component
-
In the design workspace, double-click tMap to open the Map
Editor. -
On the lower right part of the map editor, click [+] to add two rows of
Document
type to the
output table and name them payload and
headers respectively. -
Click the payload node in the input table and drop it
to the Expression column in the row of the
payload node in the output table. -
Click the header node in the input table and drop it
to the Expression column in the row of the
headers node in the output table.
Configuring the tXMLMap component in the output flow
The tXMLMap in the output flow will convert
the response message from the XML format to the row/column structure.
- In the design workspace, double-click the tXMLMap component in the output flow to open the Map Editor.
-
In the input table, right-click the root node and select Rename from the contextual menu. Enter
IsValidEmailResponse in the dialog box that
appears. -
Right-click the IsValidEmailResponse node and select
Set A Namespace from the contextual
menu. Enter http://www.webservicex.net in the dialog
box that appears. -
Right-click the IsValidEmailResponse node again and
select Create Sub-Element from the
contextual menu. Enter IsValidEmailResult in the dialog
box that appears. -
Right-click the IsValidEmailResult node and select
As loop element from the contextual
menu. -
On the lower right part of the map editor, click [+] to add a row of
String
type to the output
table and name it response. -
Click the IsValidEmailResult node in the input table
and drop it to the Expression column in the
row of the response node in the output table. -
Click OK to validate the mapping and
close the Map Editor.
Executing the Job
Click the Run view to display it and click the
Run button to launch the execution of your Job.
You can also press F6 to execute it.
As shown in the execution log, the email address nomatter@gmail.com
is
returned as false
. The input and output SOAP messages in XML is also
shown in the console. The SOAP header is sent with the request to the
service.