IBM Support

PI81086: NullPointerException thrown when using a JAX-RS provider class without a public constructor

Fixes are available

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
21.0.0.3: WebSphere Application Server Liberty 21.0.0.3
21.0.0.4: WebSphere Application Server Liberty 21.0.0.4
21.0.0.5: WebSphere Application Server Liberty 21.0.0.5
21.0.0.6: WebSphere Application Server Liberty 21.0.0.6
21.0.0.7: WebSphere Application Server Liberty 21.0.0.7
21.0.0.8: WebSphere Application Server Liberty 21.0.0.8
21.0.0.9: WebSphere Application Server Liberty 21.0.0.9
21.0.0.1: WebSphere Application Server Liberty 21.0.0.1
21.0.0.2: WebSphere Application Server Liberty 21.0.0.2
21.0.0.10: WebSphere Application Server Liberty 21.0.0.10
21.0.0.11: WebSphere Application Server Liberty 21.0.0.11
21.0.0.12: WebSphere Application Server Liberty 21.0.0.12
22.0.0.1: WebSphere Application Server Liberty 22.0.0.1
22.0.0.2: WebSphere Application Server Liberty 22.0.0.2
22.0.0.3: WebSphere Application Server Liberty 22.0.0.3
22.0.0.4: WebSphere Application Server Liberty 22.0.0.4

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a JAX-RS application uses a provider class that does
    not contain a valid constructor (per section 4.1.2 of the
    JAX-RS 2.0 specification, a provider class must have a
    public constructor - and either no arguments or arguments
    specified in the spec document) will see a
    NullPointerException like this:
    java.lang.NullPointerException
    at
    com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.upda
    teEndpointInfo(LibertyJaxRsServerFactoryBean.java:446)
    at
    com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.onAp
    plicationInit(LibertyJaxRsServerFactoryBean.java:173)
    at
    com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.doIn
    it(LibertyJaxRsServerFactoryBean.java:287)
    at
    com.ibm.ws.jaxrs20.server.JaxRsWebEndpointImpl.init(JaxRsWeb
    EndpointImpl.java:62)
    at
    com.ibm.websphere.jaxrs.server.IBMRestServlet.init(IBMRestSe
    rvlet.java:65)
    at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletW
    rapper.java:332)
    at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest
    (ServletWrapper.java:633)
    at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest
    (ServletWrapper.java:475)
    at
    com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFil
    ters(WebAppFilterManager.java:1161)
    at
    com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.j
    ava:4956)
    
    This exception will prevent the application from starting
    successfully.  There is no indication in the log output what
    the problem is.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty - JAX-RS                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: NullPointerException thrown when using  *
    *                      a JAX-RS provider class without a       *
    *                      public constructor                      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a JAX-RS application uses a provider class that does not
    contain a valid constructor (per section 4.1.2 of the JAX-RS 2.0
    specification, a provider class must have a public constructor -
    and either no arguments or arguments specified in the spec
    document) will see a NullPointerException like this:
    java.lang.NullPointerException
        at
    com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.updateEn
    dpointInfo(LibertyJaxRsServerFactoryBean.java:446)
        at
    com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.onApplic
    ationInit(LibertyJaxRsServerFactoryBean.java:173)
        at
    com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.doInit(L
    ibertyJaxRsServerFactoryBean.java:287)
        at
    com.ibm.ws.jaxrs20.server.JaxRsWebEndpointImpl.init(JaxRsWebEndp
    ointImpl.java:62)
        at
    com.ibm.websphere.jaxrs.server.IBMRestServlet.init(IBMRestServle
    t.java:65)
        at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapp
    er.java:332)
        at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser
    vletWrapper.java:633)
        at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser
    vletWrapper.java:475)
        at
    com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters
    (WebAppFilterManager.java:1161)
        at
    com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:
    4956)
    
    This exception will prevent the application from starting
    successfully.  There is no indication in the log output what the
    problem is.
    

Problem conclusion

  • The fix for this APAR provides a warning message when an invalid
    provider is detected, ignores that provider and continues
    starting the application. The warning message will identify the
    invalid provider.
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 17.0.0.2.  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

    PI81086

  • 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

    2017-05-04

  • Closed date

    2017-05-18

  • Last modified date

    2017-05-18

  • 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

  • RCD0 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"CD0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
04 May 2022