Custom Assertion may fail to load after upgrade. "Unknown assertion: CustomAssertion" error is logged.

Document ID : KB000005463
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

Customer-developed custom assertions created:

  • prior to version 7.1 may fail to load after upgrading to version 7.1
  • on version 7.1 may fail to load after upgrading to version 8.0 or later

 

This is due to a change in the Custom Assertion SDK that causes an “Unknown assertion: CustomAssertion” error to occur.

Specifically, it is not safe to include serialized versions of Layer 7 API classes within your own custom assertion classes. If you do so, your custom assertion may not work on future versions of the Gateway.

 

If you have written a custom assertion where the actual assertion (implements CustomAssertion) class contains (directly or indirectly) a non-transient, non-static field with a value that is one of the Layer 7 API classes (such as VariableMetadata or DataType), then your custom assertion may not load on future versions of the Gateway.

Environment:
This affects all custom-developed custom assertions created prior to version 7.1 after upgrading to version 7.1, and/or on 7.1 upgrading to version 8.0 or later.
Cause:

This is due to a change in the Custom Assertion SDK that causes an “Unknown assertion: CustomAssertion” error to occur.

Resolution:

Rewrite the custom-developed assertion in such a way as to not include serialized versions of Layer 7 API classes, nor (directly or indirectly) a non-transient, non-static field with a value that is one of the Layer 7 API classes (such as VariableMetadata or DataType). 

Additional Information:

Please note the following:

  • This issue does not impact any custom assertions distributed by CA Technologies.
  • If you have developed in-house custom assertions that do not contain code artifacts as noted above, you should not be impacted by this issue. However, it is recommended that you thoroughly test all policies containing your in-house custom assertions after upgrading to ensure there are no problems.
  • If you have developed in-house custom assertions that do contain the code artifacts noted above, contact CA Technical Support for information on resolution options.