Hmm.... not sure why that is causing a issue. Couple things to try.
1) With that import, change the @Resource to: @Resource(name = "org.apache.cxf.jaxws.context.WebServiceContextImpl") 2) Remove the @Resoruce and change the field to: private WebServiceContext context = new org.apache.cxf.jaxws.context.WebServiceContextImpl(): Neither is JAX-WS portable. The second should definitely work though. No injection at all. Dan On Friday 12 September 2008 10:36:58 am Carlos Eduardo Rodrigues de Almeida wrote: > Hi all, > > I´m trying to inject a WebServiceContext using: > > @Resource > private WebServiceContext context; > > Put I´m ussing <tx:annotation-driven order="1"/> in my beans.xml and > the class where I want the WebServiceContext is being proxyed because > of transactions. > > I read: > https://issues.apache.org/jira/browse/CXF-1074 > > Daniel Kulp says: > "There are a couple ways around this now. The easiest is to import > META-INF/cxf/cxf-extension-jaxws.xml which will register a listener to > make sure the WebServiceContext is injected into any bean that uses > it." > > I tried: > > <import resource="classpath:META-INF/cxf/cxf-extension-jaxws.xml" /> > in my bean.xml > > but I´m still getting: > > SEVERE: Context initialization failed > org.springframework.beans.factory.BeanCreationException: Error > creating bean with name 'ticketSenderService': Invocation of init > method failed; nested exception is javax.xml.ws.WebServiceException: > Creation of Endpoint failed > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor >y.initializeBean(AbstractAutowireCapableBeanFactory.java:1337) at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor >y.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor >y$1.run(AbstractAutowireCapableBeanFactory.java:409) at > java.security.AccessController.doPrivileged(Native Method) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor >y.createBean(AbstractAutowireCapableBeanFactory.java:380) at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(A >bstractBeanFactory.java:264) at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getS >ingleton(DefaultSingletonBeanRegistry.java:221) at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abs >tractBeanFactory.java:261) at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstr >actBeanFactory.java:185) at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstr >actBeanFactory.java:164) at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preIns >tantiateSingletons(DefaultListableBeanFactory.java:429) at > org.springframework.context.support.AbstractApplicationContext.finishBeanFa >ctoryInitialization(AbstractApplicationContext.java:729) at > org.springframework.context.support.AbstractApplicationContext.refresh(Abst >ractApplicationContext.java:381) at > org.springframework.web.context.ContextLoader.createWebApplicationContext(C >ontextLoader.java:255) at > org.springframework.web.context.ContextLoader.initWebApplicationContext(Con >textLoader.java:199) at > org.springframework.web.context.ContextLoaderListener.contextInitialized(Co >ntextLoaderListener.java:45) at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java >:3843) at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: >791) at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830) at > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719) at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490) at > org.apache.catalina.startup.HostConfig.check(HostConfig.java:1217) at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppo >rt.java:117) at > org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java >:1337) at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.process >Children(ContainerBase.java:1601) at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.process >Children(ContainerBase.java:1610) at > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Con >tainerBase.java:1590) at java.lang.Thread.run(Thread.java:619) > Caused by: javax.xml.ws.WebServiceException: Creation of Endpoint failed > at > org.apache.cxf.jaxws.JaxWsServerFactoryBean.init(JaxWsServerFactoryBean.jav >a:182) at > org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.j >ava:169) at > org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:336) at > org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:251) at > org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:201) at > org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:394) at > sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp >l.java:25) at java.lang.reflect.Method.invoke(Method.java:597) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor >y.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413) at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor >y.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374) at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactor >y.initializeBean(AbstractAutowireCapableBeanFactory.java:1334) ... 31 more > Caused by: java.lang.IllegalArgumentException: Can not set > javax.xml.ws.WebServiceContext field > edeploy.ticketsender.webservice.TicketSenderServiceImpl.context to > $Proxy60 > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unsafe >FieldAccessorImpl.java:146) at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unsafe >FieldAccessorImpl.java:150) at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java: >37) at > sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl >.java:57) at java.lang.reflect.Field.set(Field.java:657) > at > org.apache.cxf.common.injection.ResourceInjector.injectField(ResourceInject >or.java:283) at > org.apache.cxf.common.injection.ResourceInjector.visitField(ResourceInjecto >r.java:167) at > org.apache.cxf.common.annotation.AnnotationProcessor.processFields(Annotati >onProcessor.java:101) at > org.apache.cxf.common.annotation.AnnotationProcessor.accept(AnnotationProce >ssor.java:69) at > org.apache.cxf.common.injection.ResourceInjector.inject(ResourceInjector.ja >va:81) at > org.apache.cxf.jaxws.JaxWsServerFactoryBean.injectResources(JaxWsServerFact >oryBean.java:222) at > org.apache.cxf.jaxws.JaxWsServerFactoryBean.init(JaxWsServerFactoryBean.jav >a:176) > > If I remove the @Transactional, there is no errors. > > Any other work around? > > Thank you, > > Eduardo -- Daniel Kulp [EMAIL PROTECTED] http://www.dankulp.com/blog
