# tESBProviderRequest

Wraps Talend Job as web service.

It waits for a request message from a consumer and passes it to the next component.

## tESBProviderRequest Standard properties

These properties are used to configure tESBProviderRequest running in the Standard Job framework.

The Standard tESBProviderRequest component belongs to the ESB family.

*This component is relevant only when used with one of the Talend solutions with ESB, as it should be used with the Service Repository node and the Data Service creation related wizard(s).*

## Basic settings

| Properties | Description |
| --- | --- |
| Property Type | <ul> <li> <p> <span>Either <span>Built-in</span> or <span>Repository</span> </span>.</p> </li> <li> <p> <span>Built-in</span>: No WSDL file is								configured for the								Job.</p> </li> <li> <p> <span>Repository</span>: Select the desired								web service from the <span>Repository</span>, to								the granularity of the port name and operation. </p> </li> </ul> |
| 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. For more information about a component schema in its <span>Basic settings</span> tab, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/basic-settings-tab" target="_blank">Basic settings tab</a>.</p> </li> <li> <p> <span>Repository</span>: The schema is created								and stored in the Repository, hence can be reused. For more information about a component schema in its <span>Basic settings</span> tab, see <a href="https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/basic-settings-tab" target="_blank">Basic settings tab</a>.</p> </li> </ul> |
| Keep listening | Check this box when you want to ensure that the provider (and<br>therefore Talend Job) will continue listening for requests after<br>processing the first incoming request. |

## Advanced settings

| Properties | Description |
| --- | --- |
| Log messages (Studio only) | Select this check box to log the message exchange between the service<br>provider and the consumer. This option works in Talend Studio<br>only. |
| Response timeout, sec | Specify the time limit in seconds for sending response to the consumer. This<br>parameter is necessary to avoid locking of message exchanges. |
| Request processing queue size | Specify the maximum number of received requests that can be processed in<br>parallel by the components between tESBProviderRequest<br>and tESBProviderResponse. Note that this parameter is<br>different from the queueSize in the<br>&lt;TalendRuntimePath&gt;\etc\org.apache.cxf.workqueues-default.cfg<br>which defines pool configuration for incoming requests on CXF level. |
| Request processing timeout, sec | Specify the time limit in seconds for requests to be processed by the<br>components between the tESBProviderRequest and the<br>tESBProviderResponse. |
| tStatCatcher Statistics | Select this check box to gather the Job processing metadata at a<br>Job 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>SECURITY\_TOKEN: the user<br>identity information in the request header. This is a Flow variable and it returns an<br>XML node.<br><br><br>HEADERS\_SOAP: the headers of the SOAP request. This is a Flow variable<br>and it returns all SOAP request headers.<br><br><br>HEADERS\_HTTP: the headers of the HTTP<br>request. This is a Flow variable and it returns all HTTP request headers.<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>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 covers the possibility that a Talend Job can be<br>wrapped as a service, with the ability to input a request to a<br>service into a Job and return the Job result as a service<br>response.<br><br>The tESBProviderResponse<br>component can both deliver the payload of a SOAP message and also<br>access the HTTP and SOAP headers of a service.<br><br>The tESBProviderRequest component<br>should be used with the tESBProviderResponse component to provide a Job<br>result as a response, in case of a request-response communication<br>style.<br><br>When the SAML Token or the Service Registry is enabled in the service runtime options and if the SAML Token exists in<br>the request header, the tESBProviderRequest component will get and store the SAML Token<br>in the component variable for further use in the flow.<br><br>The tESBProviderRequest<br>component will get the Correlation Value in the request header if it exists and<br>stored it in the component variable. When the Business Correlation or the<br>Service Registry is enabled in the service runtime options, the Correlation Value will also<br>be added to the response. In this case, tESBProviderRequest will create a Correlation Value if it does<br>not exist.<br><br>Note that the Service Registry option is only available if you subscribed to Talend Enterprise ESB solutions. For more information about how<br>to set the runtime options, see [Setting runtime options](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-runtime-options). |
| Dynamic settings | Click the [+] button to add a row<br>in the table and fill the Code<br>field with a context variable to turn on or off the Keep listening option dynamically at<br>runtime.<br><br>When a dynamic parameter is defined, the corresponding Keep listening option in the Basic settings view becomes unusable.<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)