flow callout error "FCVariableResolutionFailed" when trying to pass the parameters

Hi,

we are using flow callout to sharedflow for logging in postClientFlow & utilizing the parameter to pass the log message to shared flow.  When one of the variables used in the parameters is not available, we are getting below error.

 

{"fault":{"faultstring":"steps.flowcallout.FCVariableResolutionFailed","detail":{"errorcode":"steps.flowcallout.FCVariableResolutionFailed"}}}

 

I tried "IgnoreUnresolvedVariables" element for flow callout policy but it didn't help and documentation doesn't indicate that it is available for flow callout. Is there a way to ignore unresolved variables when we utilize them for parameter element in Flow callout policy? 

Ex: in the below sample if test.var.notexist doesn't resolve, then flow callout is throwing an error. Since we are using this postclientflow, there could be error scenarios that will result in not having all variables that are used in parameters segment resolved.

 

<Parameters>
<Parameter name="msg">testing log message {test.var.notexist} </Parameter>
</Parameters>

 

 

Solved Solved
0 2 604
1 ACCEPTED SOLUTION

Yes, the behavior you describe is an outstanding bug in the FlowCallout policy. the internal reference for that bug is b/200554802 .

There is a workaround: You can use the firstnonnull function that is available in the Message Template.

 

<FlowCallout name="FC-2">
  <Parameters>
    <!-- by using the firstnonnull function, we get an empty default value when the var does not exist -->
    <Parameter name="param1">{firstnonnull(this-var-does-not-exist,)}</Parameter>
    ...
  </Parameters>
  <SharedFlowBundle>Shared-Flow-1</SharedFlowBundle>
</FlowCallout>

 

 

View solution in original post

2 REPLIES 2

Yes, the behavior you describe is an outstanding bug in the FlowCallout policy. the internal reference for that bug is b/200554802 .

There is a workaround: You can use the firstnonnull function that is available in the Message Template.

 

<FlowCallout name="FC-2">
  <Parameters>
    <!-- by using the firstnonnull function, we get an empty default value when the var does not exist -->
    <Parameter name="param1">{firstnonnull(this-var-does-not-exist,)}</Parameter>
    ...
  </Parameters>
  <SharedFlowBundle>Shared-Flow-1</SharedFlowBundle>
</FlowCallout>

 

 

@dchiesa1  Thanks for the workaround solution. It worked ..