The plot thickens. I changed the code back, so that Collection was no longer there, and the orginal ArrayList is there. The code is *still* crashing however. My input has not changed -- it is hard-coded, so I know for a fact it has not changed. I am now suspecting some new resource that may have been posted to an online maven repository, because that's the only thing I can think of that could have injected new code into my code-base, as I am building with maven. Is anyone aware of any new CXF artifact or dependency that has hit public maven repositories within the last day?

Thanks,

Brad

Brad O'Hearne wrote:
I have a RESTful service configured with Spring. Here is the interface:

@WebService
public interface IUserService {
     @Post
   @HttpResource(location="/authenticate")
AuthenticateResponse authenticate(AuthenticateRequest request) throws KilterException;

   @Post
   @HttpResource(location="/getEntities")
ArrayList<User> getUsers(GetUsersRequest request) throws KilterException;

}


This service works without error. However, I made one change, which was changing the return type of the getUsers method from the ArrayList listed to a Collection, as follows:

   @Post
   @HttpResource(location="/getEntities")
Collection<User> getUsers(GetUsersRequest request) throws KilterException;


This was the ONLY change made. Though my server loaded the service without error, oddly, invoking the authenticate method, in the same way as before, with the same exact data, resulted in the following exception (NOTE: the code of my actual service was never invoked, this exception occurred in the CXF API which was processing parameters). So apparently, this Collection type, though on the getUsers method, prevented the authenticate method from being invoked. ??? Does anyone have any idea why this would be, and how to rectify it? The exception is below:

INFO: Invoking POST on /authenticate
Jul 15, 2007 8:59:17 PM org.apache.cxf.binding.http.interceptor.URIParameterInInterceptor handleMessage INFO: URIParameterInterceptor handle message on path [/authenticate] with content-type [application/xml] Jul 15, 2007 8:59:17 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.NullPointerException
at org.apache.cxf.binding.http.IriDecoderHelper.interopolateParams(IriDecoderHelper.java:264) at org.apache.cxf.binding.http.interceptor.URIParameterInInterceptor.mergeParams(URIParameterInInterceptor.java:124) at org.apache.cxf.binding.http.interceptor.URIParameterInInterceptor.handleMessage(URIParameterInInterceptor.java:105) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:206) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:67) at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:100) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:224) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:103) at org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:261) at org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:239)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:270) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:191) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:227) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:211) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:817) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:623) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:444)
   at java.lang.Thread.run(Thread.java:595)

Thanks,

Brad

Reply via email to