0

I have custom policy, I am trying to use output claim from TechnicalProfile, into ValidationTechnicalProfile. OutputClaim can have set of values and it looks like:

    <OutputClaim ClaimTypeReferenceId="PolicyId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:PolicyId}" />   

   

In ValidationTechnicalProfile I try to compare PolicyId but it is not set and . If I trying to put a hard-codded value as Default Value, ValidationTechnicalProfile is able run the validation:

<ValidationTechnicalProfile ReferenceId="SetActivity_BasedOnPolicyId_Yes" ContinueOnError="true">
              <Preconditions>
                <Precondition Type="ClaimEquals" ExecuteActionsIf="**false**">
                  <Value>policyId</Value>
                  <Value>B2C_1A_SignIn</Value>
                  <Action>SkipThisValidationTechnicalProfile</Action>
                </Precondition>                      
              </Preconditions>
            </ValidationTechnicalProfile>

....

<ValidationTechnicalProfile ReferenceId="SetActivity_BasedOnPolicyId_Yes" ContinueOnError="true">
              <Preconditions>
                <Precondition Type="ClaimEquals" ExecuteActionsIf="**true**">
                  <Value>policyId</Value>
                  <Value>B2C_1A_SignIn</Value>
                  <Action>SkipThisValidationTechnicalProfile</Action>
                </Precondition>                      
              </Preconditions>
            </ValidationTechnicalProfile>

What am I doing wrong here? I simply want to run validation against policy that's used (we have few). Thanks

Ray
  • 7
  • 2

2 Answers2

0

Did you set:

  • The IncludeClaimResolvingInClaimsHandling metadata must be set to true.
  • The input or output claims attribute AlwaysUseDefaultValue must be set to true.
rbrayb
  • 46,440
  • 34
  • 114
  • 174
0

I feel like claim resolving sometimes happens in a weird order. Try making PolicyId an input claim and do the claim resolving there, rather than in the output claims (do still leave the output claim though)