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