While working on a BizTalk orchestration, editing the Call Rules shape suddenly provided the following error without any application changes. Additionally, two versions of the policy were deployed:
"Some previously selected parameters are no longer valid, and are automatically removed from the list."
Another way this might manifest itself is when messages come through after two versions of a policy are deployed and a working policy suddenly stops working (This one is much less fun to troubleshoot since there is no direct error message as a result).
Editing the Call Rules shape and clicking "View" will provide insight into how we arrive here:
The most recent policy version is the only one used by the Call Rules shape as shown by the XML referenced by the view link.
So this is a friendly reminder that when you have multiple rules that all need applied, pull forward the rules into the most recent policy by right-clicking the original policy version, selecting copy, right-clicking the main Policy level, and selecting Paste Policy Version. This will ensure all old policy rules carry forward for Call Rules shapes. Hence, if you want to apply new Rules, you must create a new version (cut and past old policy), then add the new Rules. The new policy is a superset of the old policy.
As an example:
Using Call Rules, only "Rule1" will apply in the following scenario:
Using Call Rules, the following will ensure both rules ("Rule1", and "Test Value Transfer") apply: