Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-8603

ClassLoaderUtils.setThreadContextClassloader attempts to set null class loader

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.3.11
    • 3.5.0, 3.4.6
    • None
    • None
    • Unknown

    Description

      Created a custom connector for a SOAP Service using CXF for Oracle Identity Manager using their Identity Connector Framework (ICF).  Their framework has a Context Class Loader "watcher" that detects  that the ClassLoaderUtils.setThreadContextClassLoader() method is attempting to set a "null" loader.  This happens when a call is made to invoke a SOAP message:

          public void testService() {

              try {

                  IPersonnelManagement2014 port = getPersonnelManagementPort2014();

                  PersonnelManagementViewUser2Response response = port.viewUser("xxxxx", "external", null, null, null, null);

       

      See stacktrace below:

      SEVERE: Attempting to set the CCL of thread 'pool-1-thread-9' to nullSEVERE: Attempting to set the CCL of thread 'pool-1-thread-9' to nulljava.lang.Throwable at org.identityconnectors.framework.server.impl.CCLWatchThread.setContextClassLoader(CCLWatchThread.java:59) at org.apache.cxf.common.classloader.ClassLoaderUtils.setThreadContextClassloader(ClassLoaderUtils.java:70) at org.apache.cxf.helpers.XPathUtils.getValue(XPathUtils.java:73) at org.apache.cxf.interceptor.ClientFaultConverter.setStackTrace(ClientFaultConverter.java:245) at org.apache.cxf.interceptor.ClientFaultConverter.handleMessage(ClientFaultConverter.java:84) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:112) at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:137) at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:70) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:829) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1696) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1570) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1371) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:671) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:441) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:356) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:314) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140) at com.sun.proxy.$Proxy40.viewUser(Unknown Source) at com.icsynergy.epic.wsclient.WSClient.testService(WSClient.java:550)

       

      Attachments

        Issue Links

          Activity

            People

              ffang Freeman Yue Fang
              punched_card Archie Patrick
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: