Could you please paste out your com.fm.services.ServiceImpl and 
com.fm.services.IService code? I noticed that client.doService("foo") returns a 
List<Image>. Not sure what your code looks like, but this might be the place 
where the problem comes from.

Cheers,
Jervis

> -----Original Message-----
> From: Sric [mailto:[EMAIL PROTECTED]
> Sent: 2007年8月23日 7:43
> To: cxf-user@incubator.apache.org
> Subject: Restful Service client exception
> 
> 
> 
> I have successfully deployed a Restful service using CXF. 
> I couldn’t use the jaxws Spring schema extension tags to 
> define my services
> owing to the http://cxf.apache.org/schemas/jaxws.xsd schema 
> not found error.
> I declared the service with standard Spring bean tags using 
> the following
> snippet:
> 
> <bean id="JaxWsServerFactoryBean-Service-XML"
>                       
> class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"
>                       init-method="create">
>               <property name="bindingId" 
> value="http://apache.org/cxf/binding/http"; />
>               <property name="address" value="/xml/myservice/" />
>               <property name="serviceClass" 
> value="com.fm.services.IService" />
>               <property name="serviceBean">
>                       <bean class="com.fm.services.ServiceImpl" />
>               </property>
>       </bean>
> 
> The service deploys fine and I can verify that it works from 
> a browser.
> 
> I am attempting to develop a client for this service along 
> the lines of the
> MainClient in the restful_http_binding example with the 2.0.1 
> distribution.
> My client looks like the following:
>         
>        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 
>         factory.setServiceClass(IService.class); 
>        
> factory.getClientFactoryBean().setBindingId(HttpBindingFactory
> .HTTP_BINDING_ID);
>        
> factory.setAddress("http://server:8080/myapp/services/xml/myse
> rvice/");
>         IServiceclient = (IService)factory.create();
>         List<Image> retVals = client.doService("foo");
> 
> The client proxy is getting created fine, however at the 
> invocation of the
> service I see the following exception. The problem seems to 
> arise from the
> fact that the verb returned from the 
> URIMapper/BindingOperationInfo is null.
> Ulimately, I wish to be able to inject this client via Spring. I’d
> appreciate your ideas/information on overcoming this issue.
> 
> Thanks
> Sriram
> 
> 
> Aug 22, 2007 3:48:47 PM
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> buildServiceFromClass
> INFO: Creating Service {http://search.services.fm.com/} 
> IServicefrom class
> com.fm.services.IService
> Aug 22, 2007 3:48:47 PM 
> org.apache.cxf.binding.http.strategy.JRAStrategy map
> INFO: Mapping method doService to resource 
> /images/{searchString} and verb
> GET
> Aug 22, 2007 3:48:49 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.NullPointerException
>       at
> org.apache.cxf.binding.http.interceptor.DatabindingOutSetupInt
> erceptor.handleMessage(DatabindingOutSetupInterceptor.java:77)
>       at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn
> terceptorChain.java:207)
>       at 
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
>       at 
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
>       at 
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>       at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.
> java:135)
>       at $Proxy22.doService(Unknown Source)
>       at 
> com.fm.search.service.ClientTest.plainTest(ClientTest.java:49)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.java:39)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(
> TestMethodRunner.java:99)
>       at
> org.junit.internal.runners.TestMethodRunner.runUnprotected(Tes
> tMethodRunner.java:81)
>       at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(B
> eforeAndAfterRunner.java:34)
>       at
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMeth
> odRunner.java:75)
>       at
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunn
> er.java:45)
>       at
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMe
> thod(TestClassMethodsRunner.java:66)
>       at
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClas
> sMethodsRunner.java:35)
>       at
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(Te
> stClassRunner.java:42)
>       at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(B
> eforeAndAfterRunner.java:34)
>       at 
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner
> .java:52)
>       at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
> (JUnit4TestReference.java:38)
>       at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestEx
> ecution.java:38)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
> s(RemoteTestRunner.java:460)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
> s(RemoteTestRunner.java:673)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(Rem
> oteTestRunner.java:386)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(Re
> moteTestRunner.java:196)
> javax.xml.ws.http.HTTPException
>       at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.
> java:147)
>       at $Proxy22.doSearch(Unknown Source)
>       at 
> com.fm.search.service.ClientTest.plainTest(ClientTest.java:49)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.java:39)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(
> TestMethodRunner.java:99)
>       at
> org.junit.internal.runners.TestMethodRunner.runUnprotected(Tes
> tMethodRunner.java:81)
>       at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(B
> eforeAndAfterRunner.java:34)
>       at
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMeth
> odRunner.java:75)
>       at
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunn
> er.java:45)
>       at
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMe
> thod(TestClassMethodsRunner.java:66)
>       at
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClas
> sMethodsRunner.java:35)
>       at
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(Te
> stClassRunner.java:42)
>       at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(B
> eforeAndAfterRunner.java:34)
>       at 
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner
> .java:52)
>       at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
> (JUnit4TestReference.java:38)
>       at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestEx
> ecution.java:38)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
> s(RemoteTestRunner.java:460)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTest
> s(RemoteTestRunner.java:673)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(Rem
> oteTestRunner.java:386)
>       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(Re
> moteTestRunner.java:196)
> Caused by: java.lang.NullPointerException
>       at
> org.apache.cxf.binding.http.interceptor.DatabindingOutSetupInt
> erceptor.handleMessage(DatabindingOutSetupInterceptor.java:77)
>       at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn
> terceptorChain.java:207)
>       at 
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
>       at 
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
>       at 
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>       at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.
> java:135)
>       ... 22 more
> 
> -- 
> View this message in context: 
> http://www.nabble.com/Restful-Service-client-exception-tf43146
88.html#a12285030
Sent from the cxf-user mailing list archive at Nabble.com.

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Reply via email to