Your policy looks correct as far as I can see. Have you done a trace to confirm cached.jwk contains the expected value and what is getting populated into cacedkid? You should be able to see this tracing the extract variables policy.
With that said looking at your json structure, keys contains an array. Is that expected? I believe your current use of extract variables would return an array of strings from your structure.
If you don’t actually intend to use an array for keys, your structure would be
I am getting below error, but I can see cached.jwk has value before this extract variable policy. So, in my extract variable I mentioned source as cached.jwk variable, is that valid? or only request and response can be the source?
{ “fault”: { “faultstring”: “cached.jwk message is not available for ExtractVariable: Extract-Variables-1”, “detail”: { “errorcode”: “steps.extractvariables.SourceMessageNotAvailable” } } }