Hi, I'm trying to get a simple JSON service running. For now, I'm just simply getting http_binding working with spring. It works fine with wrapped=true but ass soon as i set wrapped to false, I get an Invocation of init method failed (NullPointer).
Here's my cxf.xml ----------------- <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.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-servlet.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" /> <bean id="geoImpl" class="my.package.GeoCodeImpl" autowire="constructor"> </bean> <jaxws:endpoint id="geocodeService" address="/json/geocode" implementor="#geoImpl" bindingUri="http://apache.org/cxf/binding/http"> <jaxws:serviceFactory> <bean class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"> <property name="wrapped" value="false" /> </bean> </jaxws:serviceFactory> </jaxws:endpoint> </beans> my Service Interface: ------------------- @WebService public interface GeoCode { @Get @HttpResource(location="/{location}") @WebResult(name = "GeoCodeResponse") public GeoCodeResponse geoCode(@WebParam(name="location") String location); } my IMPL: -------- @WebService(endpointInterface = "my.package.GeoCode") public class GeoCodeImpl implements GeoCode { public GeoCodeImpl( ){ } @Override public GeoCodeResponse geoCode(String location) { .. i do stuff here ... return r; } } the error: ------------ 2008-01-21 11:48:07.175::WARN: Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'geocodeService': Invocation of init method failed; nested exception is java.lang.NullPointerException: [java] java.lang.NullPointerException [java] at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createBareMessage(ReflectionServiceFactoryBean.java:692) [java] at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:308) [java] at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:333) [java] at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:151) [java] at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:93) [java] at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:74) [java] at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:108) [java] at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:147) [java] at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:288) [java] at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:228) [java] at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:179) [java] at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:341) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:597) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1242) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1208) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427) [java] at org.springframework.beans.factory.support.AbstractBeanFactory $1.getObject(AbstractBeanFactory.java:249) [java] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) [java] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291) [java] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) [java] at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) [java] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189) [java] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) [java] at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540) [java] at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) [java] at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220) [java] at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510) [java] at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) [java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) [java] at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) [java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) [java] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) [java] at org.mortbay.jetty.Server.doStart(Server.java:222) [java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)