Thanks for your help.

I modified the method to return a String:

    @GET
    @Path("/{id}")
    public String getSponsorLookupCodes(@PathParam("id") String serviceCode)
{
        System.out.println("serviceCode - " + serviceCode);
        XStream xstream = new XStream(new JsonHierarchicalStreamDriver());
        xstream.alias(ServiceCode.class.getSimpleName(), ServiceCode.class);
        ServiceCode code =
serviceCodeLookupBusinessService.getServiceCode(serviceCode);
        System.out.println("code - " + code);
        System.out.println("json code - " + xstream.toXML(code));
        return xstream.toXML(code);
    }

Even though the return says xstream.toXML, we are using XStreams
functionality to return JSON by instantiating new
JsonHierarchicalStreamDriver().

The interesting part is that I am attempting to register multiple Spring
Beans as serviceBeans, but when I make my REST/GET Request, the class throws
the NullPointer only on the return value (since it successfully logged the
value it is going to return)...but the NullPointer stack trace shows a
namespace to the wrong Class (which has a different Path annotation).

java.lang.NullPointerException
        at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:126)
        at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:103)
        at
org.apache.cxf.io.DelegatingInputStream.cacheInput(DelegatingInputStream.java:54)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination$1.cacheInput(AbstractHTTPDestination.java:305)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(AbstractHTTPDestination.java:519)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:531)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:524)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.onFirstWrite(AbstractHTTPDestination.java:659)
        at
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
        at
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:55)
        at
org.apache.cxf.jaxrs.provider.PrimitiveTextProvider.writeTo(PrimitiveTextProvider.java:70)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:256)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:144)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:83)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
        at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
        at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
        at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
        at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
        at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
        at
com.day.j2ee.servletengine.ServletRuntimeEnvironment.service(ServletRuntimeEnvironment.java:228)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.doFilter(RequestDispatcherImpl.java:315)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:334)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:378)
        at
com.day.j2ee.servletengine.ServletHandlerImpl.execute(ServletHandlerImpl.java:313)
        at
com.day.j2ee.servletengine.DefaultThreadPool$DequeueThread.run(DefaultThreadPool.java:134)
        at java.lang.Thread.run(Thread.java:619)
Apr 26, 2011 8:39:14 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor
writeResponseErrorMessage
WARNING: Error serializing the response, please check the server logs,
response class : String.
Apr 26, 2011 8:39:14 PM org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging
WARNING: Interceptor for
{http://facade.apps.foo.com/}CodeLookupUtilityResource has thrown exception,
unwinding now
java.lang.NullPointerException
        at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:126)
        at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:103)
        at
org.apache.cxf.io.DelegatingInputStream.cacheInput(DelegatingInputStream.java:54)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination$1.cacheInput(AbstractHTTPDestination.java:305)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(AbstractHTTPDestination.java:519)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:531)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:524)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.onFirstWrite(AbstractHTTPDestination.java:659)
        at
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
        at
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:55)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.writeResponseErrorMessage(JAXRSOutInterceptor.java:377)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleWriteException(JAXRSOutInterceptor.java:362)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:281)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:144)
        at
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:83)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
        at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
        at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
        at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
        at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
        at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
        at
com.day.j2ee.servletengine.ServletRuntimeEnvironment.service(ServletRuntimeEnvironment.java:228)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.doFilter(RequestDispatcherImpl.java:315)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:334)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:378)
        at
com.day.j2ee.servletengine.ServletHandlerImpl.execute(ServletHandlerImpl.java:313)
        at
com.day.j2ee.servletengine.DefaultThreadPool$DequeueThread.run(DefaultThreadPool.java:134)
        at java.lang.Thread.run(Thread.java:619)
Apr 26, 2011 8:39:14 PM org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging
WARNING: Interceptor for
{http://facade.apps.foo.com/}CodeLookupUtilityResource has thrown exception,
unwinding now
java.lang.NullPointerException
        at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:126)
        at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:103)
        at
org.apache.cxf.io.DelegatingInputStream.cacheInput(DelegatingInputStream.java:54)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination$1.cacheInput(AbstractHTTPDestination.java:305)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(AbstractHTTPDestination.java:519)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:531)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:524)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.onFirstWrite(AbstractHTTPDestination.java:659)
        at
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
        at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:100)
        at
com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:225)
        at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:276)
        at
org.apache.cxf.binding.xml.interceptor.XMLFaultOutInterceptor.handleMessage(XMLFaultOutInterceptor.java:85)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
        at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:99)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:315)
        at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
        at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
        at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
        at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
        at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
        at
com.day.j2ee.servletengine.ServletRuntimeEnvironment.service(ServletRuntimeEnvironment.java:228)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.doFilter(RequestDispatcherImpl.java:315)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:334)
        at
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:378)
        at
com.day.j2ee.servletengine.ServletHandlerImpl.execute(ServletHandlerImpl.java:313)
        at
com.day.j2ee.servletengine.DefaultThreadPool$DequeueThread.run(DefaultThreadPool.java:134)
        at java.lang.Thread.run(Thread.java:619)

Thanks....jay

--
View this message in context: 
http://cxf.547215.n5.nabble.com/IOUtils-throws-NullPointerException-JAX-RS-Response-tp4338982p4342671.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to