Project: talendesb
Issue TESB-10600: Data Service: Correlation propagation
To allow chained service calls to be group under the same Id we need to introduce CorrelationId as part of the Custom SOAP Header. Using this CorrelationId we can identify all calls in the chain. For example, ESBConsumer1 (CorrelationId=FR01:TR05) calls DS1 (CorrelationId=FR01:TR05), DS1 calls Bonita Process BP1 (CorrelationId=FR01:TR05), BP1 calls DS2 (CorrelationId=FR01:TR05). In result we can identify all chain by CorrelationId=FR01:TR05: -ESBConsumer1 - DS1 - BP1 - DS2 For Data Service we: - add checkbox 'Use Business Correlation' to 'ESB Runtime Settings' which will enable correlation feature (configured by Custom policy in runtime), - if 'Use Business Correlation' is enabled: extract Correlation value from the request header and store for example in the component variable for further use in the flow (for example pass to tBonitaInstance). For tESBConsumer: - add checkbox 'Use Business Correlation' and field 'value' where user can set correlation value (default is empty, in this case id will be generated on runtime). 'value' should support settings via context properties/flow variable. - if 'Use Business Correlation' is enabled: extract Correlation value from the response header and store for example in the component variable for further use in the flow (for example pass to tBonitaInstance). If SR is enabled - checkbox 'Use Business Correlation' should be disabled both in the consumer and provider. But for consumer correlation value field should be.
Story points: 5