# tESBConsumer

Calls the defined method from the invoked Web service and returns the class as defined, based on the given parameters.

This component is not shipped with your Talend Studio by default. You need to install it using the Feature Manager. For more information, see [Installing features using the Feature Manager](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/install-features-to-talend-studio).

## 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

| Properties | Description |
| --- | --- |
| Service configuration | Description of Web service bindings and configuration. The<br>Endpoint field gets filled in<br>automatically upon completion of the service configuration. |
| Input Schema and Edit schema | <ul> <li> <p>A schema is a row description. It defines the number of fields            (columns) to be processed and passed on to the next component. When you create a Spark            Job, avoid the reserved word <kbd>line</kbd> when naming the            fields.</p> <p>Click <span>Edit        schema</span> to make changes to the schema. If the current schema is of the <span>Repository</span> type, three options are available:</p> <ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul> </li> <li> <p> <span>Built-in</span>: The schema is created and                     stored locally for this component only. Related topic: see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-built-in-schema-in-job" target="_blank">Setting a Built-in schema in Jobs</a>.</p> </li> <li> <p> <span>Repository</span>: The schema already exists                     and is stored in the Repository, hence can be reused. Related topic: see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-repository-schema-in-job" target="_blank">Setting a repository schema in a                     Job</a>.</p> </li> </ul> |
| Response Schema and Edit schema | <ul> <li> <p>A schema is a row description. It defines the number of fields            (columns) to be processed and passed on to the next component. When you create a Spark            Job, avoid the reserved word <kbd>line</kbd> when naming the            fields.</p> <p>Click <span>Edit        schema</span> to make changes to the schema. If the current schema is of the <span>Repository</span> type, three options are available:</p> <ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul> </li> <li> <p> <span>Built-in</span>: The schema is created and                     stored locally for this component only. Related topic: see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-built-in-schema-in-job" target="_blank">Setting a Built-in schema in Jobs</a>.</p> </li> <li> <p> <span>Repository</span>: The schema already exists                     and is stored in the Repository, hence can be reused. Related topic: see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-repository-schema-in-job" target="_blank">Setting a repository schema in a                     Job</a>.</p> </li> </ul> |
| Fault Schema and Edit schema | <ul> <li> <p>A schema is a row description. It defines the number of fields            (columns) to be processed and passed on to the next component. When you create a Spark            Job, avoid the reserved word <kbd>line</kbd> when naming the            fields.</p> <p>Click <span>Edit        schema</span> to make changes to the schema. If the current schema is of the <span>Repository</span> type, three options are available:</p> <ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul> </li> <li> <p> <span>Built-in</span>: The schema is created and                     stored locally for this component only. Related topic: see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-built-in-schema-in-job" target="_blank">Setting a Built-in schema in Jobs</a>.</p> </li> <li> <p> <span>Repository</span>: The schema already exists                     and is stored in the Repository, hence can be reused. Related topic: see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-repository-schema-in-job" target="_blank">Setting a repository schema in a                     Job</a>.</p> </li> </ul> |
| Use Service Registry | This option is only available if you subscribed to Talend Enterprise ESB solutions.<br><br>Select this check box to enable the Service Registry. It provides dynamic endpoint lookup and allows services to be redirected<br>based upon information retrieved from the registry. It works in runtime<br>only.<br><br>Enter the authentication credentials in the Username and Password field.<br><br>If SAML token is registered in the service registry, you need<br>to specify the client's role in the Role<br>field. You can also select the Propagate<br>Credentials check box to make the call on behalf of an already<br>authenticated user by propagating the existing credentials. You can enter the<br>username and the password to authenticate via STS to propagate using username<br>and password, or provide the alias, username and the password to propagate<br>using certificate. For more information, see the Use<br>Authentication option. Select the Encryption/Signature body check box to enable XML<br>Encryption/XML Signature. For more information, see [XKMS service](https://help.qlik.com/talend/r/en-US/8.0/esb-infra-services-configuration-guide/xkms-service).<br><br>In the Correlation Value<br>field, specify a correlation ID or leave this field empty. For more<br>information, see the Use Business<br>Correlation option.<br><br>For more information about how to set up and use the Service Registry, see [Setting up ESB Service Registry](https://help.qlik.com/talend/r/en-US/8.0/administration-center-user-guide/setting-up-esb-service-registry) and<br>[Service Registry](https://help.qlik.com/talend/r/en-US/8.0/esb-infra-services-configuration-guide/service-registry). |
| Use Service Locator | Maintains the availability of the service to help meet demands<br>and service level agreements (SLAs).<br><br>This option will not show if the Use<br>Service Registry<br>check box is selected. |
| Use Service Activity<br>Monitor | Captures events and stores this information to facilitate<br>in-depth analysis of service activity and track-and-trace of messages<br>throughout a business transaction. This can be used to analyze service response<br>times, identify traffic patterns, perform root cause analysis and more.<br><br>This option is disabled when the Use<br>Service Registry<br>check box is selected if you subscribed to Talend Enterprise ESB solutions. |
| Use Authentication | Select this check box to enable the authentication option.<br>Select from Basic HTTP, HTTP Digest, Username<br>Token, and SAML Token (ESB runtime<br>only). Enter a username and a password in the corresponding<br>fields as required. Authentication with Basic<br>HTTP, HTTP Digest, and<br>Username Token work in both Talend Studio and Talend Runtime. Authentication with the SAML Token<br>works in runtime only.<br><br>When SAML Token (ESB runtime<br>only) is selected, you can either provide the user credentials<br>to send the request or make the call on behalf of an already authenticated user<br>by propagating the existing credentials. Select from:<br><br><br>-: Enter the username and the password<br>in the corresponding fields to access the service.<br><br><br>Propagate using U/P: Enter the user name<br>and the password used to authenticate against STS.<br><br><br>Propagate using Certificate: Enter the<br>alias and the password used to authenticate against STS.<br><br>To enter the password, click the [...] button<br>next to the password field, enter the password in double quotes in the pop-up dialog box,<br>and click OK to save the settings.<br><br>This option will not show if the Use<br>Service Registry<br>check box is selected. |
| Use Authorization | This option is only available if you subscribed to Talend Enterprise ESB solutions.<br><br>Select this check box to enable authorized call. Specify the<br>client's role in the Role field. This<br>option appears when SAML Token (ESB runtime<br>only) is selected in the Use<br>Authentication list.<br><br>For more information about the management of user roles and<br>rights, see [Managing ESB Resources and<br>authorization](https://help.qlik.com/talend/r/en-US/8.0/administration-center-user-guide/managing-esb-resources-and-authorizations) and [Talend Identity and Access<br>Management](https://help.qlik.com/talend/r/en-US/8.0/esb-infra-services-configuration-guide/talend-identity-and-access-management). |
| Encryption/Signature body | Select this check box to enable XML Encryption/XML Signature.<br>For more information, see [XKMS service](https://help.qlik.com/talend/r/en-US/8.0/esb-infra-services-configuration-guide/xkms-service).<br><br>This option appears when SAML Token<br>(ESB runtime only) is selected in the Use Authentication list. |
| Use Business Correlation | Select this check box to create a correlation ID in this<br>component.<br><br>You can specify a correlation ID in the Correlation Value field. In this case the<br>correlation ID will be passed on to the service it calls so that chained<br>service calls will be grouped under this correlation ID. If you leave this<br>field empty, this value will be generated automatically at runtime.<br><br>When this option is enabled, tESBConsumer will also extract the correlation ID from the<br>response header and store it in the component variable for further use in the<br>flow.<br><br>This option will be enabled automatically when the Use Service Registry<br>check box is selected. |
| Use GZip Compress | Select this check box to compress the incoming messages into GZip format before<br>sending. |
| Die on error | Select this check box to kill the Job when an error occurs. |

## Advanced settings

| Properties | Description |
| --- | --- |
| Log messages | Select this check box to log the message exchange between<br>the service provider and the consumer. |
| Service Locator Custom Properties | This table appears when Use Service Locator<br>is selected. You can add as many lines as needed in the table<br>to customize the relevant properties. Enter the name and the value of each<br>property between double quotation marks in the Property Name field and the Property<br>Value field respectively. |
| Service Activity Custom Properties | This table appears when Use Service Activity<br>Monitor is selected. You can add as many lines as needed<br>in the table to customize the relevant properties. Enter the name and<br>the value of each property between double quotation marks in the<br>Property Name field and the<br>Property Value field<br>respectively. |
| Connection time out(second) | Set a value in seconds for Web service connection time out.<br><br>This option only works in Talend Studio. To use it after the component is deployed in runtime:<br><br><ol> <li> <p>Create a configuration file with the name										<span>org.apache.cxf.http.conduits-&lt;endpoint_name&gt;.cfg</span>									in the &lt;TalendRuntimePath&gt;/container/etc/									folder.</p> </li> <li> <p>Specify the <span>url</span> of the Web service and the										<span>client.ConnectionTimeout</span> parameter in									milliseconds in the configuration file. If you need to use the										<span>Receive time out</span> option,									specify the <span>client.ReceiveTimeout</span> in milliseconds									too. The <span>url</span> can be a full endpoint address or a									regular expression containing wild cards, for example:</p> <pre><code><pre><code><code>url = http://localhost:8040/*client.ConnectionTimeout=10000000client.ReceiveTimeout=20000000</code></code></pre></code></pre> <p>, in which <span>http://localhost:8040/*</span> matches all URLs starting with                              <span>http://localhost:8040/</span>.</p> </li> </ol> |
| Receive time out(second) | Set a value in seconds for server answer.<br><br>This option only works in Talend Studio. For how to use it after the component is deployed in runtime, see the<br>Connection time out option. |
| Disable Chunking | Select this check box to disable encoding the payload as chunks. In<br>general, chunking will perform better as the streaming can take place<br>directly. But sometimes the payload is truncated with chunking enabled.<br>If you are getting strange errors when trying to interact with a<br>service, try turning off chunking to see if that helps. |
| Trust server with SSL/TrustStore<br>file and TrustStore password | Select this check box to validate the server certificate to the client<br>via an SSL protocol and fill in the corresponding fields:<br><br><br>TrustStore file: Enter the path<br>(including filename) to the certificate TrustStore file that contains<br>the list of certificates that the client trusts.<br><br><br>TrustStore password: Enter the password<br>used to check the integrity of the TrustStore data. |
| Use http proxy/Proxy host, Proxy<br>port, Proxy user, and<br>Proxy password | Select this check box if you are using a proxy server and fill in the<br>necessary information.<br><br>To enter the password, click the [...] button<br>next to the password field, enter the password in double quotes in the pop-up dialog box,<br>and click OK to save the settings. |
| HTTP Headers | Click [+] as many times as<br>required to add the name-value pair(s) for HTTP headers to define the<br>parameters of the requested HTTP operation. |
| tStatCatcher Statistics | Select this check box to gather the Job processing metadata at a Job<br>level as well as at each component level. |

## Global Variables

| Variables | Description |
| --- | --- |
| Global Variables | NB\_LINE:<br>the number of rows processed. This is an After variable and it returns an integer.<br><br><br>CORRELATION\_ID:<br>the correlation ID by which chained service calls will be grouped. This is a Flow<br>variable and it returns a string.<br><br><br>ERROR\_MESSAGE: the error message generated by the<br>component when an error occurs. This is an After variable and it returns a string. This<br>variable functions only if the Die on error checkbox is<br>cleared, if the component has this checkbox.<br><br><br>HTTP\_RESPONSE\_CODE: HTTP response status code. This is an After<br>variable and it returns an Integer.<br><br><br>HTTP\_HEADERS: the set of HTTP headers<br>from response. This is a Flow variable and it returns map object java.util.Map&lt;String, java.util.List&lt;?&gt;&gt;.<br>Header name is represented by map key. Header values are represented by java.util.List&lt;?&gt;.<br><br>A Flow variable functions during the execution of a component<br>while an After variable functions after the execution of the component.<br><br>To fill up a field or expression with a variable, press Ctrl+Space to access the variable list and choose the variable to use from<br>it.<br><br>For more information about variables, see [Using contexts and variables](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/contexts-and-variables). |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | This component can be used as an intermediate component. It requires<br>to be linked to an output component. |
| Dynamic settings | Click the [+] button to add a row in the<br>table and fill the Code field with a context variable<br>to turn on or off the Use Authentication or<br>Use HTTP proxy option dynamically at runtime. You<br>can add two rows in the table to set both options.<br><br>Once a dynamic parameter is defined, the corresponding option becomes<br>highlighted and unusable in the Basic settings view<br>or Advanced settings view.<br><br>For examples on using dynamic parameters, see [Reading data from databases through<br>context-based dynamic connections](https://help.qlik.com/talend/r/en-US/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections) and [Reading data from different MySQL databases<br>using dynamically loaded connection parameters](https://help.qlik.com/talend/r/en-US/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters). For more information on<br>Dynamic settings and context variables, see<br>[Dynamic schema](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/dynamic-schema) and [Creating a context group and define context<br>variables in it](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it). |
| Limitation | A JDK is required for this component to operate. |

**Related concepts**

* [Requesting airport names based on country codes](https://help.qlik.com/talend/en-US/components/8.0/esb-soap/tesbconsumer-tesbproviderfault-tmap-requesting-airport-names-based-on-country-codes-standard-component-esb-this)
* [Returning Hello world response](https://help.qlik.com/talend/en-US/components/8.0/esb-soap/tesbconsumer-tesbproviderrequest-tfixedflowinput-returning-hello-world-response-standard-component-esb-the)
* [Sending a message without expecting a response](https://help.qlik.com/talend/en-US/components/8.0/esb-soap/tesbconsumer-tesbproviderrequest-tlogrow-tfixedflowinput-sending-message-without-expecting-response-standard-component-esb-the)
* [Using tESBConsumer with custom SOAP Headers](https://help.qlik.com/talend/en-US/components/8.0/esb-soap/tesbconsumer-txmlmap-tfixedflowinput-tlogrow-using-tesbconsumer-with-custom-soap-headers-standard-component-this)