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

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

book

Article ID: 5463

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

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.