IBM Support

PI71887: JAX-RS Client fails when running in OSGi bundles

Fixes are available

16.0.0.4: WebSphere Application Server Liberty 16.0.0.4
17.0.0.1: WebSphere Application Server Liberty 17.0.0.1
17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When attempting to use the JAX-RS Client and ClientBuilder
    APIs from an OSGi bundle in Liberty (either in an OSGi
    application or as a user feature / product extension), the
    ClientBuilder will attempt to load the JerseryClientBuilder
    implementation because it cannot find Liberty's configured
    client build implementation.  You may see an exception like
    this:
    java.lang.RuntimeException:
    java.lang.ClassNotFoundException:
    org.glassfish.jersey.client.JerseyClientBuilder
    at
    javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.ja
    va:103)
    
    This is because the metadata that tells the ClientBuilder
    which implementation class to load is in a runtime bundle
    that is only found for Java EE applications.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty - Web Services (JAX-WS, JAX- *
    *                  RS)                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: JAX-RS Client fails when running in     *
    *                      OSGi bundles                            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When attempting to use the JAX-RS Client and ClientBuilder APIs
    from an OSGi bundle in Liberty (either in an OSGi application or
    as a user feature / product extension), the ClientBuilder will
    attempt to load the JerseryClientBuilder implementation because
    it cannot find Liberty's configured client build implementation.
    You may see an exception like this:
    java.lang.RuntimeException: java.lang.ClassNotFoundException:
    org.glassfish.jersey.client.JerseyClientBuilder
          at
    javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:1
    03)
    
    This is because the metadata that tells the ClientBuilder which
    implementation class to load is in a runtime bundle that is only
    found for Java EE applications.
    

Problem conclusion

  • The fix for this APAR is to ensure that the JAX-RS ClientBuilder
    can find the configuration for Liberty's client builder
    implementation class in all cases, Java EE applications as well
    as OSGi bundles.
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 16.0.0.4.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI71887

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-11-07

  • Closed date

    2016-11-08

  • Last modified date

    2016-11-08

  • 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

  • R855 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"855","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
19 October 2021