Recently I was asked if OTD could strip the ECID HTTP header off inbound requests to SOA. Whilst I knew I could manipulate or remove headers, I hadn’t done that with ECID before… and it turns out that is not quite so straight-forward and there’s no documentation about it. Therefore last weekend I burnt quite a few midnight hours on this, along with one the Oracle Support OTD engineers in California, and we came up with a solution. Unfortunately, for non-technical reasons, this solution hasn’t gone into production but I’m confident it could, so thought I’d describe it here in case anyone else has the same requirment (I also suggested on the SR that a MOS note is written about it).
Firstly, let’s recap what an Execution Context Identifier (ECID) is. This is a unique ID, attached as the ECID-Context HTTP header, that is propagated through the various layers of an application stack to allow you to track and correlate requests. For example, if you are using SOA you can us Enterprise Manager (EM) Fusion Middleware Control (FMWC) to track all the steps and calls to other systems that a composite might make.
Typically a Fusion Middleware components will add a new ECID if one is not there, or pass it through, with or without manipulation if it is. OTD is a case in point – by default every request sent to an origin server will have an ECID, and if there wasn’t one on the inbound request OTD will generate one… this also alludes to the fact that the ECID-Context header is “special” for OTD.
This particular case involved an on-prem Oracle SOA platform calling our SOA CS platform repeatedly (1000s of times) as the source system processed a bulk feed. Transactions weren’t involved so every call to our SOA platform was essentially independent but, because the call already had an ECID corresponding to the instance on the source, this meant we had lots of instances with the same ECID, which in turn made EM FMWC unusable. So I was asked to remove the ECID, in that way either OTD or SOA (it didn’t matter which) would give each call a new, unique one. Read the complete article here.
For regular information on Oracle PaaS become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.