PolicyXpress SOAP Web Service Invocation Failure Due to Jar Library Conflict
search cancel

PolicyXpress SOAP Web Service Invocation Failure Due to Jar Library Conflict

book

Article ID: 215019

calendar_today

Updated On:

Products

CA Identity Suite CA Identity Manager

Issue/Introduction

Identity Manager PolicyXpress may fail to invoke SOAP Web Services if third-party binaries or custom libraries included in the environment conflict with core Identity Manager (IM) libraries. This conflict typically occurs when a custom library overrides the expected versions of the standard IM Axis libraries required for Web Service execution.

Environment

Identity Manager 14.x

Cause

A library conflict occurs when a third-party or custom JAR (e.g., an axis2-jaxws library) takes precedence over the standard Axis libraries used by Identity Manager. This precedence prevents the Web Service engine from correctly initializing, resulting in failed invocations.

Resolution

To identify and resolve conflicts involving custom or third-party JARs, follow these steps:

  1. Analyze Logs: Review the server logs for java.lang.NoSuchMethodErrorClassNotFoundException, or ClassCastException pointing to Axis or JAX-WS libraries. These errors often indicate a classloader conflict.
  2. Identify Conflicting Libraries: Inspect the custom or third-party libraries deployed in your environment to determine if they contain duplicate or incompatible versions of the core IM libraries (specifically axisaxis2, or jaxws components).
  3. Test Remediation:
    • Temporarily remove the suspected conflicting library from the environment.
    • Restart the application server or re-initialize the service.
    • Verify if the PolicyXpress Web Service invocation executes as expected.
  4. Ensure Compatibility: If the third-party library is required, developers must ensure the custom code is fully compatible with the core Identity Manager environment libraries, rather than relying on library prioritization/ordering, which is not supported in the Identity Manager classloading mechanism.