2015-08-26 4 views
0

Я разработал приложение с CXF для вызова веб-сервисов и создания веб-сервисов. Когда я попытался развернуть это приложение под websphere с помощью Websphere console, он дал следующую ошибку:CXF работает на WEBSPHERE

[8/25/15 23:00:05:327 ICT] 000004f9 servlet  E com.ibm.ws.webcontainer.servlet.ServletWrapper init Uncaught.init.exception.thrown.by.servlet 
    [8/25/15 23:00:05:329 ICT] 000004f9 webapp  E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[cxf]: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: public com.RetroDao com..retroDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.binding.soap.SoapBindingFactory' defined in class path resource [META-INF/cxf/cxf-extension-soap.xml]: Cannot resolve reference to bean 'cxf' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is org.apache.cxf.bus.extension.ExtensionException: Could not load extension class org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl. 
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
      at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) 
      at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) 
      at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
      at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1651) 
      at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:414) 
      at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88) 
      at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169) 
      at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749) 
      at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634) 
      at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426) 
      at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718) 
      at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1170) 
      at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370) 
      at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:638) 
      at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968) 
      at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:769) 
      at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1364) 
      at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2169) 
      at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445) 
      at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123) 
      at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388) 
      at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116) 
      at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:663) 
      at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5429) 
      at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5555) 
      at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255) 
      at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:677) 
      at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:621) 
      at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1256) 
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
      at java.lang.reflect.Method.invoke(Method.java:611) 
      at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:49) 
      at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source) 
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
      at java.lang.reflect.Method.invoke(Method.java:611) 
      at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:256) 
      at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1085) 
      at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:966) 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848) 
      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773) 
      at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335) 
      at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) 
      at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228) 
      at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181) 
      at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:247) 
      at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:360) 
      at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:602) 
      at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784) 
      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:1783) 
    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: public com.RetroDao com.retroDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.binding.soap.SoapBindingFactory' defined in class path resource [META-INF/cxf/cxf-extension-soap.xml]: Cannot resolve reference to bean 'cxf' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is org.apache.cxf.bus.extension.ExtensionException: Could not load extension class org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl. 
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:502) 
      at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) 
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:282) 
      ... 68 more 
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.binding.soap.SoapBindingFactory' defined in class path resource [META-INF/cxf/cxf-extension-soap.xml]: Cannot resolve reference to bean 'cxf' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is org.apache.cxf.bus.extension.ExtensionException: Could not load extension class org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl. 
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) 
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) 
      at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630) 
      at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:735) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:666) 
      at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:507) 
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:317) 
      at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) 
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:829) 
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:786) 
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703) 
      at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:474) 
      ... 70 more 
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is org.apache.cxf.bus.extension.ExtensionException: Could not load extension class org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl. 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:965) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) 
      ... 84 more 
    Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is org.apache.cxf.bus.extension.ExtensionException: Could not load extension class org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl. 
      at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141) 
      at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:74) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958) 
      ... 92 more 
    Caused by: 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:182) 
      at org.apache.cxf.bus.extension.Extension.getClassObject(Extension.java:194) 
      at org.apache.cxf.bus.extension.ExtensionManagerImpl.activateAllByType(ExtensionManagerImpl.java:142) 
      at org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManagerBus.java:126) 
      at org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManagerBus.java:138) 
      at org.apache.cxf.bus.spring.SpringBus.<init>(SpringBus.java:46) 
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56) 
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39) 
      at java.lang.reflect.Constructor.newInstance(Constructor.java:527) 
      at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) 
      ... 94 more 
    Caused by: java.lang.IncompatibleClassChangeError: org.apache.neethi.AssertionBuilderFactory 
      at java.lang.ClassLoader.defineClassImpl(Native Method) 
      at java.lang.ClassLoader.defineClass(ClassLoader.java:262) 
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69) 
      at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:852) 
      at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:762) 
      at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:627) 
      at java.lang.ClassLoader.defineClassImpl(Native Method) 
      at java.lang.ClassLoader.defineClass(ClassLoader.java:262) 
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69) 
      at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:852) 
      at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:762) 
      at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:627) 
      at org.apache.cxf.bus.extension.Extension.tryClass(Extension.java:163) 
      ... 104 more 

Вот my cxf-bean.xml файл:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> 
    <import resource="classpath:META-INF/cxf/cxf.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 

</beans> 

А вот мой application-context.xml файл:

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd 
    http://www.springframework.org/schema/jee 
    http://www.springframework.org/schema/jee/spring-jee-3.0.xsd 
    "> 

    <context:component-scan base-package="com" /> 

</beans> 

Я использовал загрузчик родительского класса из websphere. Но это не сработало для меня. Что мне делать ?

+0

это локальный или тестовый сервер? – sgpalit

+0

Возможный дубликат http://stackoverflow.com/questions/17568330/incompatible-neethi-jar-with-was-7 –

+0

это тестовый сервер @sgpalit. – AknKplnoglu

ответ

2

Я столкнулся с той же проблемой и после поиска в Интернете нашел для меня рабочее решение. http://stackoverflow.com/questions/17568330/incompatible-neethi-jar-with-was-7

В дополнении к этому решению, вы должны изменить класс нагрузку порядка, как «классы загружаются с локальным загрузчиком класса первым» под tab.Because управления модулями были есть это баночка, что конфликты вы баночка при выборе этой опции всех банок на него будет подавлено.

enter image description here

+0

О, благодарю вас @ enes.acikoglu – AknKplnoglu

Смежные вопросы