Forms: HTTP Exporter
An HTTP Exporter exports data held in a Stream to a HTTP Datasource.
Form: HTTP Exporter Details
The HTTP Exporter form contains a number of tabs:
Field | Description |
---|---|
Details | The main details required for HTTP Exporter configuration. |
Send Message | Define details of the data that will be sent to the HTTP Datasource. |
HTTP Headers | Details of each HTTP Header defined for this exporter is configured in an HTTP Header form. |
Response | Define how the responses from the HTTP Datasource will be handled. |
Advanced | Advanced settings for HTTP Exporters. |
Description | A free text field for a description of the HTTP Exporter. |
Form Icons
The form provides the standard form icons.
Tab: HTTP Exporter Details
The following fields are configured on the Details tab:
Field | Description |
---|---|
Name | Name of the HTTP Exporter. |
HTTP Data Source | The HTTP Datasource that this exporter will send data to. |
Record Export Time | If required, select an attribute from the input Stream from the drop down list. If an attribute is selected, when the exporter writes a message to the target location (HTTP datasource) the selected attribute in the input record will be updated with the export time. If a record in the input Stream is not exported, this attribute will be left blank. If a record is exported - but the export is rolled back - the attribute will be updated, and set back to a blank record. Warning: if a record fails to export then this attribute will still be populated, even in the case that the export transaction in the target HTTP datasource is rolled back. |
Record Export Status | If required, select an attribute from the input Stream from the drop down list. If an attribute is selected, when the exporter writes a record to the target location (HTTP datasource) the selected attribute in the input record will be updated with the export status (success or fail). If a record in the input Stream is not exported, this attribute will be left blank. The field is populated with result from "Check if the response indicates successful export" from the response tab. If a record is exported - but the export is rolled back - the attribute will be updated, and set back to a blank record. Warning: if a record fails to export then this attribute will still be populated, even in the case that the export transaction in the target HTTP datasource is rolled back. |
Record Response | If required, select an attribute from the input Stream from the drop down list. If an attribute is selected, when the exporter writes a record to the target location (HTTP datasource) the selected attribute in the input record will be updated with any export error messages. If a record in the input Stream is not exported, this attribute will be left blank. The field is populated with result from "Result to record on the Stream" (and/or "Result to record on the Stream after a connection failure"). If a record is exported - but the export is rolled back - the attribute will be updated, and set back to a blank record. Warning: if a record fails to export then this attribute will still be populated, even in the case that the export transaction in the target HTTP datasource is rolled back. |
Enabled | Tick when the configuration is complete and the HTTP Exporter is ready to be used. |
Tab: Send Message
The following fields are configured on the Send Message tab:
Field | Description |
---|---|
URL Expression | The URL to be used, without the leading http:// prefix. The URL may contain embedded expressions within { }. If this field is blank, the url field on the httpDatasourceInstance is used directly. For Example, this expression adds to the base url provided by the HTTP Datasource Instance : {_url}/sub1/sub2?param1=3 |
Statement Expression | An expression to generate the data that will be sent by the exporter to the datasource. For example : <?xml version ="1.0"?> <!DOCTYPE CORPORATE DASHBOARD "corpDash.dtd"> <results user="%USERNAME%" password="%PASSWORD%"> <monthlyTotals region={'"' + Region + '"'} division={'"' + Division + '"'}> <totalBilled>{'"' + TotalBilled + '"'}<\totalBilled> <totalCollected>{'"' + TotalCollected + '"'}<\totalCollected> <monthlyTotals> <\results> Note : internal variables are referenced via %USERNAME% %PASSWORD% syntax. Expressions are enclosed in {}
|
Tab: Response
The following fields are configured on the Response tab:
Field | Description |
---|---|
Check if the response indicates successful export | Expression to evaluate the response from the HTTP datasource, where a connection was made. countElements($errors = xmlToItems(_response,"//ERROR")) == 0 |
Result to record on the Stream | Expression to evaluate the value to put on the stream. if(_success, _response, listToString($errors._MSGTEXT)) |
Result to record on the Stream after a connection failure | Value to put on the Stream in the event that the HTTP connection attempt failed. _error |
Forms: HTTP Exporter HTTP Header
HTTP Exporter HTTP Header definition form - for creating name-value pairs to be included as part of the HTTP header of the request.
Form: HTTP Headers Detail
The following fields are configured on this form:
Field | Description |
---|---|
Name | Name of the HTTP Exporter HTTP Header Item. You must not include a colon after the name. For example, Content-Type is a valid name, whereas Content-Type: is not. |
Value | Value of the HTTP Exporter HTTP Header Item. |
Examples
Name | Value |
---|---|
Content-Type | text/xml; charset=UTF-8 |
The following fields are configured on the Advanced tab:
Parallel Exporters | If required, you can specify that the exporter should use a number of parallel exporters. Each buffer of records read from the input pipe will be divided across the parallel exporters. The restriction applied to this is that if Group By fields are specified in the input Pipe to the exporter, all records with the same Group By key will be exported by the same exporter. If no value is specified here then only a single exporter will be used. |
Commit Size | Tells the exporter to commit records in batches of the specified size. |
Timeout (secs) | Tells the exporter to timeout each export operation after a number of seconds. If an export operation does time out, the operation will be abandoned and an error will be reported. Each record that is timed out is considered to be a single error when assessing whether the entire export should be stopped and/or rolled back - see Errors Before Rollback below. If no value is specified, the duration of an export operation is unlimited. |
Errors Before Rollback | If required, you can set the maximum number of errors found, while exporting across all exporters, before the exporter will rollback all uncommitted transactions from all exporters. If no value is specified, the exporter will never rollback, no matter how many errors are found. If 1 is specified, a single error will cause a rollback. |
Errors Before Stopping | If required, you can set the maximum number of errors found, while exporting across all exporters, before the exporter will stop attempting to export records to the datasource. This is useful where you have set Errors Before Rollback (also configured on this tab), but wish to continue to try to export records to get view of how successful the remaining export would have been. Any records that the exporter attempts to export after the Errors Before Rollback limit has been passed will always be rolled back, even if they are successful. If no value is entered, the exporter will stop when the Errors Before Rollback limit is reached. |
Icon | Path name for image file. |
Input Multiplier | This expression works in the same way as the Input Multiplier Expressions on Streams and Database Exporters. A complete export is carried out for each value in the list of values returned by the Input Multiplier Expression. If the Input Multiplier Expression evaluates to an empty list then no export will be carried out. If no Input Multiplier Expression is set, a single export will be carried out. |
Datasource Instance Expression | The target datasource for this exporter may list multiple HTTP Datasource instances. Each datasource instance is identified by a unique string. This expression should evaluate to a string which allows the HTTP Exporter to determine the instance to use. If no value is entered then the exporter will assume that there is only one instance and will use that one by default. If there is more than one instance and no expression is provided here then an error will be thrown during analysis. |
See Also
Forms: HTTP Exporter
An HTTP Exporter exports data held in a Stream to a HTTP Datasource.
Form: HTTP Exporter Details
The HTTP Exporter form contains a number of tabs:
Field | Description |
---|---|
Details | The main details required for HTTP Exporter configuration. |
Send Message | Define details of the data that will be sent to the HTTP Datasource. |
HTTP Headers | Details of each HTTP Header defined for this exporter is configured in an HTTP Header form. |
Response | Define how the responses from the HTTP Datasource will be handled. |
Advanced | Advanced settings for HTTP Exporters. |
Description | A free text field for a description of the HTTP Exporter. |
Form Icons
The form provides the standard form icons.
Tab: HTTP Exporter Details
The following fields are configured on the Details tab:
Field | Description |
---|---|
Name | Name of the HTTP Exporter. |
HTTP Data Source | The HTTP Datasource that this exporter will send data to. |
Record Export Time | If required, select an attribute from the input Stream from the drop down list. If an attribute is selected, when the exporter writes a message to the target location (HTTP datasource) the selected attribute in the input record will be updated with the export time. If a record in the input Stream is not exported, this attribute will be left blank. If a record is exported - but the export is rolled back - the attribute will be updated, and set back to a blank record. Warning: if a record fails to export then this attribute will still be populated, even in the case that the export transaction in the target HTTP datasource is rolled back. |
Record Export Status | If required, select an attribute from the input Stream from the drop down list. If an attribute is selected, when the exporter writes a record to the target location (HTTP datasource) the selected attribute in the input record will be updated with the export status (success or fail). If a record in the input Stream is not exported, this attribute will be left blank. The field is populated with result from "Check if the response indicates successful export" from the response tab. If a record is exported - but the export is rolled back - the attribute will be updated, and set back to a blank record. Warning: if a record fails to export then this attribute will still be populated, even in the case that the export transaction in the target HTTP datasource is rolled back. |
Record Response | If required, select an attribute from the input Stream from the drop down list. If an attribute is selected, when the exporter writes a record to the target location (HTTP datasource) the selected attribute in the input record will be updated with any export error messages. If a record in the input Stream is not exported, this attribute will be left blank. The field is populated with result from "Result to record on the Stream" (and/or "Result to record on the Stream after a connection failure"). If a record is exported - but the export is rolled back - the attribute will be updated, and set back to a blank record. Warning: if a record fails to export then this attribute will still be populated, even in the case that the export transaction in the target HTTP datasource is rolled back. |
Enabled | Tick when the configuration is complete and the HTTP Exporter is ready to be used. |
Tab: Send Message
The following fields are configured on the Send Message tab:
Field | Description |
---|---|
URL Expression | The URL to be used, without the leading http:// prefix. The URL may contain embedded expressions within { }. If this field is blank, the url field on the httpDatasourceInstance is used directly. For Example, this expression adds to the base url provided by the HTTP Datasource Instance : {_url}/sub1/sub2?param1=3 |
Statement Expression | An expression to generate the data that will be sent by the exporter to the datasource. For example : <?xml version ="1.0"?> <!DOCTYPE CORPORATE DASHBOARD "corpDash.dtd"> <results user="%USERNAME%" password="%PASSWORD%"> <monthlyTotals region={'"' + Region + '"'} division={'"' + Division + '"'}> <totalBilled>{'"' + TotalBilled + '"'}<\totalBilled> <totalCollected>{'"' + TotalCollected + '"'}<\totalCollected> <monthlyTotals> <\results> Note : internal variables are referenced via %USERNAME% %PASSWORD% syntax. Expressions are enclosed in {}
|
Tab: Response
The following fields are configured on the Response tab:
Field | Description |
---|---|
Check if the response indicates successful export | Expression to evaluate the response from the HTTP datasource, where a connection was made. countElements($errors = xmlToItems(_response,"//ERROR")) == 0 |
Result to record on the Stream | Expression to evaluate the value to put on the stream. if(_success, _response, listToString($errors._MSGTEXT)) |
Result to record on the Stream after a connection failure | Value to put on the Stream in the event that the HTTP connection attempt failed. _error |
Tab: Advanced
The following fields are configured on the Advanced tab:
Parallel Exporters | If required, you can specify that the exporter should use a number of parallel exporters. Each buffer of records read from the input pipe will be divided across the parallel exporters. The restriction applied to this is that if Group By fields are specified in the input Pipe to the exporter, all records with the same Group By key will be exported by the same exporter. If no value is specified here then only a single exporter will be used. |
Commit Size | Tells the exporter to commit records in batches of the specified size. |
Timeout (secs) | Tells the exporter to timeout each export operation after a number of seconds. If an export operation does time out, the operation will be abandoned and an error will be reported. Each record that is timed out is considered to be a single error when assessing whether the entire export should be stopped and/or rolled back - see Errors Before Rollback below. If no value is specified, the duration of an export operation is unlimited. |
Errors Before Rollback | If required, you can set the maximum number of errors found, while exporting across all exporters, before the exporter will rollback all uncommitted transactions from all exporters. If no value is specified, the exporter will never rollback, no matter how many errors are found. If 1 is specified, a single error will cause a rollback. |
Errors Before Stopping | If required, you can set the maximum number of errors found, while exporting across all exporters, before the exporter will stop attempting to export records to the datasource. This is useful where you have set Errors Before Rollback (also configured on this tab), but wish to continue to try to export records to get view of how successful the remaining export would have been. Any records that the exporter attempts to export after the Errors Before Rollback limit has been passed will always be rolled back, even if they are successful. If no value is entered, the exporter will stop when the Errors Before Rollback limit is reached. |
Icon | Path name for image file. |
Input Multiplier | This expression works in the same way as the Input Multiplier Expressions on Streams and Database Exporters. A complete export is carried out for each value in the list of values returned by the Input Multiplier Expression. If the Input Multiplier Expression evaluates to an empty list then no export will be carried out. If no Input Multiplier Expression is set, a single export will be carried out. |
Datasource Instance Expression | The target datasource for this exporter may list multiple HTTP Datasource instances. Each datasource instance is identified by a unique string. This expression should evaluate to a string which allows the HTTP Exporter to determine the instance to use. If no value is entered then the exporter will assume that there is only one instance and will use that one by default. If there is more than one instance and no expression is provided here then an error will be thrown during analysis. |
See Also