Sriram, the fix for this problem has been committed into the latest trunk, you shall see the fix either by building a snapshot from the latest trunk by yourself or waiting for 2.0.2 release. The fix only impacts the client side.
Cheers, Jervis > -----Original Message----- > From: Sric [mailto:[EMAIL PROTECTED] > Sent: 2007年8月29日 2:35 > To: cxf-user@incubator.apache.org > Subject: RE: Restful Service client exception > > > > Jervis, > I see that you have closed this JIRA issue. How can I obtain > the fix? Does > it impact the client or the server or both? Can you please update? > > Thanks > Sriram > > Liu, Jervis wrote: > > > > Ok, I see the problem. Your service is using wrapped mode, > unfortunately > > URIMapper did not handle Wrapped/Unwrapped operation > correctly. I have > > filed JIRA cxf-938 for this. > > > > Thanks, > > Jervis > > > >> -----Original Message----- > >> From: Sric [mailto:[EMAIL PROTECTED] > >> Sent: 2007年8月23日 23:22 > >> To: cxf-user@incubator.apache.org > >> Subject: RE: Restful Service client exception > >> > >> > >> > >> Jervis, > >> Thanks for your reply. > >> > >> The interface code is as follows: > >> > >> package com.fm.services; > >> > >> import javax.jws.WebParam; > >> import javax.jws.WebService; > >> import javax.jws.WebResult; > >> > >> import org.codehaus.jra.Get; > >> import org.codehaus.jra.HttpResource; > >> > >> import java.util.List; > >> > >> @WebService > >> public interface IService > >> { > >> @Get > >> @HttpResource(location="/images/{searchString}") > >> @WebResult(name = "result") > >> public List<Image> > >> doService(@WebParam(name="searchString") String > >> searchString); > >> } > >> > >> The implementation class is as follows: > >> > >> package com.fm.services; > >> > >> public class ServiceImpl implements IService > >> { > >> public List<Image> doSearch(String searchString) > >> { > >> List<Image> results = new ArrayList<Image>(); > >> // Populate the results > >> return results; > >> } > >> } > >> > >> If I change the List<Image> to a List<String>, I see the same > >> exception from > >> my client. The rest invocation from a browser returns the > >> correct values > >> though. > >> > >> Thanks > >> Sriram > >> > >> > >> Liu, Jervis wrote: > >> > > >> > 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 > >> > > >> > > >> > >> -- > >> View this message in context: > >> http://www.nabble.com/Restful-Service-client-exception-tf43146 > > 88.html#a12295667 > > 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 > > > > > > -- > View this message in context: > http://www.nabble.com/Restful-Service-client-exception-tf43146 88.html#a12372799 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