-
Bug
-
Resolution: Obsolete
-
Major
-
EAP_EWP 5.1.1
-
None
-
-
Release Notes
-
-
Low
-
Not Required
-
NEW
When JBossWS creates the CXF Bus, CXF uses Spring to wire up some if its components. The TCCL in use at this time is the application's CL. This means any Spring classes in the application will be loaded in favor of Spring classes in the $JBOSS_HOME/server/$PROFILE/deployers/jbossws.deployers folder, and this causes the exception below. The issue shouldn't come up if CXF was loaded from the application, too. This is fixed by changing the TCCL to the same CL that loaded the CXF libraries.
18:04:29,155 WARNING [SpringBusFactory] Initial attempt to crate application context was unsuccessful. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.binding.soap.customEditorConfigurer' defined in URL [vfszip:/Users/klape/jboss/product-distributions/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-bindings-soap.jar/META-INF/cxf/cxf-extension-soap.fixml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.util.ArrayList] to required type [org.springframework.beans.PropertyEditorRegistrar[]] for property 'propertyEditorRegistrars'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [org.apache.cxf.binding.soap.spring.SoapVersionRegistrar] to required type [org.springframework.beans.PropertyEditorRegistrar] for property 'propertyEditorRegistrars[0]': no matching editors or conversion strategy found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380) at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91) at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102) at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93) at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86) at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64) at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53) at org.apache.cxf.transport.servlet.CXFServlet.updateContext(CXFServlet.java:117) at org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:101) at org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:70) at org.jboss.wsf.stack.cxf.CXFServletExt.loadBus(CXFServletExt.java:92) at org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78) at org.jboss.wsf.stack.cxf.CXFServletExt.init(CXFServletExt.java:79) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451) at java.lang.Thread.run(Thread.java:680) Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.util.ArrayList] to required type [org.springframework.beans.PropertyEditorRegistrar[]] for property 'propertyEditorRegistrars'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [org.apache.cxf.binding.soap.spring.SoapVersionRegistrar] to required type [org.springframework.beans.PropertyEditorRegistrar] for property 'propertyEditorRegistrars[0]': no matching editors or conversion strategy found at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:391) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1289) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1250) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) ... 40 more Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [org.apache.cxf.binding.soap.spring.SoapVersionRegistrar] to required type [org.springframework.beans.PropertyEditorRegistrar] for property 'propertyEditorRegistrars[0]': no matching editors or conversion strategy found at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:124) at org.springframework.beans.TypeConverterDelegate.convertToTypedArray(TypeConverterDelegate.java:393) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:186) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386) ... 44 more
- relates to
-
JBWS-3265 Isolate deployment classloader from ws server integration
- Closed