You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2008/12/04 17:22:44 UTC

[jira] Resolved: (CXF-1932) Spring injection with bare parameter style fails to deploy

     [ https://issues.apache.org/jira/browse/CXF-1932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-1932.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.10

> Spring injection with bare parameter style fails to deploy
> ----------------------------------------------------------
>
>                 Key: CXF-1932
>                 URL: https://issues.apache.org/jira/browse/CXF-1932
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.0.9
>         Environment: Reproduced this on CXF 2.0.9 with Tomcat 5.5.27, the app deploys on 2.1.3
>            Reporter: Martin Murphy
>            Assignee: Daniel Kulp
>             Fix For: 2.0.10
>
>         Attachments: springtest.zip
>
>
> If you have a service endpoint implementation that does not specify the WSDL location, with some methods that are not WebMethods and the bare parameter style is used, then CXF will fail to publish the enpoint.
> When deploying on tomcat I see this error:
> {quote}
> 04-Dec-2008 14:24:05 org.springframework.web.context.ContextLoader initWebApplicationContext
> SEVERE: Context initialization failed
> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 
> 'personService': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: 
> Service class org.apache.cxf.springtest.PersonImpl method getMultiMap part 
> {http://cxf.apache.org/springtest}getMultiMapResponse cannot be mapped to schema. 
> Check for use of a JAX-WS-specific type without the JAX-WS service factory bean.
> Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: 
> Service class org.apache.cxf.springtest.PersonImpl method getMultiMap part 
> {http://cxf.apache.org/springtest}getMultiMapResponse cannot be mapped to schema. 
> Check for use of a JAX-WS-specific type without the JAX-WS service factory bean.
>         at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:258)
>         at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:192)
>         at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:380)
>         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:585)        
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1242)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1208)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>         at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
>         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
>         at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>         at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
>         at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
>         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
>         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>         at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831)
>         at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720)
>         at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>         at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1218)
>         at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
>         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
>         at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
>         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
>         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
>         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Service
> class org.apache.cxf.springtest.PersonImpl method getMultiMap part 
> {http://cxf.apache.org/springtest}getMultiMapResponse cannot be mapped to schema. 
> Check for use of a JAX-WS-specific type without the JAX-WS service factory bean.
>         at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createBareMessage(ReflectionServiceFactoryBean.java:969)
>         at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:347)
>         at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:383)
>         at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:169)
>         at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:98)
>         at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:98)
>         at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:114)
>         at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:160)
>         at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:327)
>         at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:242)
>         ... 35 more
> 04-Dec-2008 14:24:05 org.apache.catalina.core.StandardContext start
> SEVERE: Error listenerStart
> 04-Dec-2008 14:24:05 org.apache.catalina.core.StandardContext start
> SEVERE: Context [/springtest-0.0.1-SNAPSHOT] startup failed due to previous errors
> {quote}
> Note this was discussed last month in [this thread|http://www.nabble.com/commit%3A-r688596-cxf-2.0.9-tt20500264.html] and the problematic area of code was highlighted. Where a method will be incorrectly returned as a webmethod when it is not defined.
> Note this seems to work in 2.0.8 and 2.1.3 (didn't try an earlier 2.1 version). ServiceMix 3 uses CXF 2.0.9 in it's CXF Service Engine where the WSDL location cannot be specified.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.