An update (with more information), but still no solution. Again, I have a web-service that publishes STS instances. I've: 1. disabled the WebSphere web-services engine 2. set the single classloader policy which looks locally first.
Publishing this initial web-service fails, with the following stack trace (other CXF users have experienced this - e.g. http://cxf.547215.n5.nabble.com/Getting-Caused-by-java-lang-IncompatibleClassChangeError-org-apache-neethi-AssertionBuilderFactory-e5-td5716804.html.) [4/15/13 15:05:05:246 PDT] 00000057 webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[new_sts]: org.apache.cxf.bus.extension.ExtensionException: Could not load extension class org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl. at org.apache.cxf.bus.extension.Extension.tryClass(Extension.java:173) at org.apache.cxf.bus.extension.Extension.getClassObject(Extension.java:185) at org.apache.cxf.bus.extension.ExtensionManagerImpl.activateAllByType(ExtensionManagerImpl.java:138) at org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManagerBus.java:126) at org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManagerBus.java:134) at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:40) at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:36) at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:32) at org.apache.cxf.transport.servlet.CXFNonSpringServlet.loadBus(CXFNonSpringServlet.java:101) at org.forgerock.openam.sts.publish.web.STSInstancePublisher.loadBus(STSInstancePublisher.java:19) at org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:71) at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:337) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:630) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:457) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) at org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:44) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:95) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:975) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:87) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1815) Caused by: java.lang.IncompatibleClassChangeError: org.apache.neethi.AssertionBuilderFactory at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:264) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:74) at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:853) at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:763) at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:586) at java.lang.ClassLoader.loadClass(ClassLoader.java:650) at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:264) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:74) at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:853) at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:763) at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:586) at java.lang.ClassLoader.loadClass(ClassLoader.java:650) at org.apache.cxf.bus.extension.Extension.tryClass(Extension.java:169) ... 42 more Triggering the verbose classloading shows: class load: org.apache.neethi.AssertionBuilderFactory from: file:/home/dhogan/IBM/WebSphere/AppServer/plugins/org.apache.axis2.jar. Attempting to address this problem via the endorsed mechanism won't work (as suggested in responses to this problem) , as the class in question is not part of the package-set that can be overridden by the endorsed mechanism (besides the fact that the class is being loaded by WebSphere, not by java). So I expanded the org.apache.axis2.jar, and replaced the org.apache.neethi classes with those in neethi-3.0.2.jar. This got me a bit further. Next error: java.lang.NoSuchMethodError: org/apache/ws/commons/schema/XmlSchemaCollection.read(Lorg/w3c/dom/Document;Ljava/lang/String;)Lorg/apache/ws/commons/schema/XmlSchema; at org.apache.cxf.common.xmlschema.SchemaCollection.read(SchemaCollection.java:133) at org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:192) at org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:95) at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:388) at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:475) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:537) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:249) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159) at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211) at org.forgerock.openam.sts.publish.web.STSInstancePublisher.loadBus(STSInstancePublisher.java:33) at org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:71) at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:336) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168) at com.ibm.ws.webcontainer.servlet.ServletWrapper.load(ServletWrapper.java:1360) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:982) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3748) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:283) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814) >From the classloader logs: class load: org.apache.ws.commons.schema.XmlSchemaCollection from: file:/home/dhogan/IBM/WebSphere/AppServer/plugins/org.apache.axis2.jar Again, we are not dealing with a package that can be over-ridden by the endorsed mechanism. I replaced the org.apache.ws.commons.schema classes in the org.apache.axis2.jar with those in xmlschema-core-2.0.3.jar. That allowed me to successfully publish an STS instance (callers authenticated via username-tokens over the symmetric binding). As soon as I try to get my STS to issue a SAML token, the box CPU pegs with the stack traces mentioned in my first post. I get the same issue set on Ubuntu 10.04 desktop (not an officially supported platform for WebSphere 8.5), and on SUSE Linux Enterprise Desktop 11 (officially supported WebSphere 8.5 platform). I get this problem regardless of whether I package the servicemix .jar in my .war file. I'm hoping that someone in CXF-land has run into this problem and can provide some insight... Thanks Dirk -- View this message in context: http://cxf.547215.n5.nabble.com/WebSphere-8-5-hanging-CXF-STS-implementation-tp5725997p5726390.html Sent from the cxf-user mailing list archive at Nabble.com.
