IBM Support

PH63904: CLASSLOADER ISSUE IN RESTFULWS APPLICATION WHEN @CONTEXT INJECTING AN IMPLEMENTATION CONTAINED WITHIN THE APPLICATION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • An exception similar to the following may occur whenever an
    application provided implementation for an @Context injection
    is in a resource class:
    
    [11/6/24, 12:56:44:706 CST] 0000006d
    g.jboss.resteasy.core.providerfactory.DefaultExceptionMapper E
    RESTEASY002375: Error processing request GET
    /CustomSecurityContext/CustomSecurityContextResource/GetCustom
    -
    com.ibm.ws.jaxrs.fat.customsecuritycontext.CustomSecurityContext
    Resource.requestCustomSecurityInfo
    java.lang.IllegalArgumentException:
    com.ibm.ws.jaxrs.fat.customsecuritycontext.filter.WrapperIntf
    referenced from a method is not visible from class loader:
    org.eclipse.osgi.internal.loader.EquinoxClassLoader @501ed359
    
    This is a behavior change that took place between EE8 and EE9.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of RESTful web services within    *
    *                  the                                         *
    *                  IBM WebSphere Application Server Liberty    *
    *                  Core                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: An exception similar to the following   *
    *                      may occur whenever an                   *
    *                      application provided implementation for *
    *                      an @Context injection                   *
    *                      is in a resource class:                 *
    *                      [11/6/24, 12:56:44:706 CST] 0000006d    *
    *                      g.jboss.resteasy.core.providerfactory.D *
    *                      efaultExceptionMapper E                 *
    *                      RESTEASY002375: Error processing        *
    *                      request GET                             *
    *                      /CustomSecurityContext/CustomSecurityCo *
    *                      ntextResource/GetCustom                 *
    *                      -                                       *
    *                      com.ibm.ws.jaxrs.fat.customsecuritycont *
    *                      ext.CustomSecurityContext               *
    *                      Resource.requestCustomSecurityInfo      *
    *                      java.lang.IllegalArgumentException:     *
    *                      com.ibm.ws.jaxrs.fat.customsecuritycont *
    *                      ext.filter.WrapperIntf                  *
    *                      referenced from a method is not visible *
    *                      from class loader:                      *
    *                      org.eclipse.osgi.internal.loader.Equino *
    *                      xClassLoader @501ed359                  *
    *                      This is a behavior change that took     *
    *                      place between EE8 and EE9.              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The base implementation for RESTful web services within
    WebSphere
    Liberty switched from CXF to RESTEasy for EE9 and beyond.  This
    transition introduced the possibility for a failure whenever
    @Context injection is used to inject an interface whose
    implementation is contained within the application itself. This
    occurred due to a difference between how RESTEasy and Liberty
    handle classloading.
    

Problem conclusion

  • The problem was resolved by introducing code to allow for
    appropriate classloading within Liberty for the scenario
    described in this APAR.
    
    The fix for this APAR is targeted for inclusion in fix pack
    24.0.0.12. For more information, see 'Recommended Updates for
    WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH63904

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    CD0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-10-28

  • Closed date

    2024-11-25

  • Last modified date

    2024-11-25

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"CD0","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
26 November 2024