[ https://issues.apache.org/jira/browse/CXF-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-4470. ------------------------------ Resolution: Fixed Fix Version/s: 2.6.2 2.5.5 2.4.9 Assignee: Daniel Kulp > Unable to configure cxf:bus with Spring 2.5.6-SEC03 > --------------------------------------------------- > > Key: CXF-4470 > URL: https://issues.apache.org/jira/browse/CXF-4470 > Project: CXF > Issue Type: Bug > Components: Bus > Affects Versions: 2.6.1 > Environment: Ubuntu Linux 12.04, Oracle Java 6 1.6.0_30, > apache-tomcat-6.0.35, spring-2.5.6-SEC03, apache-cxf-2.6.1 > Reporter: Ryan Nideffer > Assignee: Daniel Kulp > Priority: Blocker > Fix For: 2.4.9, 2.5.5, 2.6.2 > > > Spring bean initialization fails to create the 'cxf' bean when configuring > the cxf bus as documented in tutorials. To reproduce, configure a bare-bones > webapp in Apache Tomcat using Spring 2.5.6-SEC03 libraries, along with CXF > 2.6.1. Here is the web.xml I used: > {noformat} > <?xml version="1.0" encoding="ISO-8859-1"?> > <!-- > Licensed to the Apache Software Foundation (ASF) under one or more > contributor license agreements. See the NOTICE file distributed with > this work for additional information regarding copyright ownership. > The ASF licenses this file to You under the Apache License, Version 2.0 > (the "License"); you may not use this file except in compliance with > the License. You may obtain a copy of the License at > http://www.apache.org/licenses/LICENSE-2.0 > Unless required by applicable law or agreed to in writing, software > distributed under the License is distributed on an "AS IS" BASIS, > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > See the License for the specific language governing permissions and > limitations under the License. > --> > <web-app xmlns="http://java.sun.com/xml/ns/javaee" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > version="2.5"> > <display-name>Welcome to Tomcat</display-name> > <description> > Welcome to Tomcat > </description> > <context-param> > <param-name>contextConfigLocation</param-name> > <param-value> > classpath:com/awarepoint/ws/services.xml > </param-value> > </context-param> > <listener> > <listener-class> > org.springframework.web.context.ContextLoaderListener > </listener-class> > </listener> > <servlet> > <servlet-name>CXFServlet</servlet-name> > <display-name>CXF Servlet</display-name> > <servlet-class> > org.apache.cxf.transport.servlet.CXFServlet > </servlet-class> > <load-on-startup>1</load-on-startup> > </servlet> > <servlet-mapping> > <servlet-name>CXFServlet</servlet-name> > <url-pattern>/services/*</url-pattern> > </servlet-mapping> > </web-app> > {noformat} > And the contents of the spring config: > {noformat} > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:cxf="http://cxf.apache.org/core" > xmlns:jaxws="http://cxf.apache.org/jaxws" > xmlns:jaxrs="http://cxf.apache.org/jaxrs" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd > http://cxf.apache.org/core > http://cxf.apache.org/schemas/core.xsd > http://cxf.apache.org/jaxws > http://cxf.apache.org/schemas/jaxws.xsd > http://cxf.apache.org/jaxrs > http://cxf.apache.org/schemas/jaxrs.xsd"> > <import resource="classpath:META-INF/cxf/cxf.xml"/> > <bean id="logOutbound" > class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> > <cxf:bus> > <cxf:outInterceptors> > <ref bean="logOutbound"/> > </cxf:outInterceptors> > </cxf:bus> > </beans> > {noformat} > Here is the resulting stacktrace: > {noformat} > INFO: Bean factory for application context > [org.springframework.web.context.support.XmlWebApplicationContext@344e17f9]: > org.springframework.beans.factory.support.DefaultListableBeanFactory@6b11ae04 > Aug 13, 2012 2:25:23 PM > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry > destroySingletons > INFO: Destroying singletons in > org.springframework.beans.factory.support.DefaultListableBeanFactory@6b11ae04: > defining beans > [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,logOutbound,cxf.config0]; > root of factory hierarchy > Aug 13, 2012 2:25:23 PM org.springframework.web.context.ContextLoader > initWebApplicationContext > SEVERE: Context initialization failed > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: > Initialization of bean failed; nested exception is > java.lang.reflect.MalformedParameterizedTypeException > 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.getBeansOfType(DefaultListableBeanFactory.java:308) > at > org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:947) > at > org.springframework.context.support.AbstractApplicationContext.registerListeners(AbstractApplicationContext.java:701) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:377) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) > at > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079) > at > org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) > at > org.apache.catalina.core.StandardService.start(StandardService.java:525) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:754) > at org.apache.catalina.startup.Catalina.start(Catalina.java:595) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) > Caused by: java.lang.reflect.MalformedParameterizedTypeException > at > sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:42) > at > sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:35) > at > sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:77) > at > sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:86) > at > sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:122) > at > sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31) > at > sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:82) > at java.lang.Class.getGenericInterfaces(Class.java:794) > at > org.springframework.core.GenericTypeResolver.getTypeVariableMap(GenericTypeResolver.java:154) > at > org.springframework.core.GenericTypeResolver.resolveReturnType(GenericTypeResolver.java:101) > at > org.springframework.beans.GenericTypeAwarePropertyDescriptor.getPropertyType(GenericTypeAwarePropertyDescriptor.java:88) > at > org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138) > at > org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386) > 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) > ... 39 more > Aug 13, 2012 2:25:23 PM org.apache.catalina.core.StandardContext start > SEVERE: Error listenerStart > Aug 13, 2012 2:25:23 PM org.apache.catalina.core.StandardContext start > SEVERE: Context [] startup failed due to previous errors > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira