Passing input values through to tESBConsumer output fault flow for logging

Five Stars

Passing input values through to tESBConsumer output fault flow for logging

I am currently using Talend Open Studio 6.4.1.

 

I want to capture the 2-3 key fields from an input message to a tESBConsumer component and pass them through in the event the web service returns a fault.   I will then log the key fields along with the faultCode and faultString.  How do I pass from the input side of a tESBConsumer to the fault flow in the event of an error.

 

Key Fields are in XML payload in Map Assets component.  need to pass these to row5 (fault).

screenshot1.pngPassing logging values (from input payload) thru tESBConsumer to fault flow

Example field needing to be passed through from tMap "payload" output

screenshot2.png

I am not sure what technique is best for doing this.


Accepted Solutions
Community Manager

Re: Passing input values through to tESBConsumer output fault flow for logging

Hi 

If the value comes from database, you can iterate the input data so that you can access the data on other components later. eg:

tOracleInput--main(row1)--tFlowtoIterate--iterate--tfixedFlowInput--main--tXMLMAP--tESBConsumer--response-->

                                                                                                                                                     --fault--tMap-->

on tMap: add external fields, you can get the value with the expression like:

(String)globalMap.get("row1.columnName")  

// for string type

 

Regards

Shong

                                                                                                     

----------------------------------------------------------
Talend | Data Agility for Modern Business

All Replies
Community Manager

Re: Passing input values through to tESBConsumer output fault flow for logging

Hi 

If the value comes from database, you can iterate the input data so that you can access the data on other components later. eg:

tOracleInput--main(row1)--tFlowtoIterate--iterate--tfixedFlowInput--main--tXMLMAP--tESBConsumer--response-->

                                                                                                                                                     --fault--tMap-->

on tMap: add external fields, you can get the value with the expression like:

(String)globalMap.get("row1.columnName")  

// for string type

 

Regards

Shong

                                                                                                     

----------------------------------------------------------
Talend | Data Agility for Modern Business

What’s New for Talend Spring ’19

Watch the recorded webinar!

Watch Now

Agile Data lakes & Analytics

Accelerate your data lake projects with an agile approach

Watch

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.

Download

Tutorial

Introduction to Talend Open Studio for Data Integration.

Watch