Hi Priya, On your #1 - its unfortunate that we throw a NullPointerException, but the actual issue is outlined in the log:
SEVERE: No operation found for path: /, contentType: */*, Accept contentType: */* i.e. your sending a request to a path that doesn't have an operation associated with it. You'd get this with the basic jax-rs demo if you send a request to http://127.0.0.1:9000/ instead of http://127.0.0.1:9000/customerservice/customers/123 Feel free to log a Jira for the NullPointerException if you like - we really should throw a more meaningful exception. On your second issue, could you post some sample code (perhaps a diff vs the basic demo) so we can get a clear idea of what your doing here? thanks & regards, --Frank On Mon, 2008-01-21 at 02:56 -0800, priya j wrote: > Hi All, > First of all thanks a lot for your support. I have sort off done with my > implemented. Still i have the following error. > Kindly do help me in solving this also > > 1) When i run my server for the first time i get the null pointer exception > stating no method found but my client works fine. > > ERROR: > Jan 21, 2008 6:09:02 PM org.apache.coyote.http11.Http11Protocol start > INFO: Starting Coyote HTTP/1.1 on http-8080 > Jan 21, 2008 6:09:02 PM org.apache.coyote.http11.Http11Protocol start > INFO: Starting Coyote HTTP/1.1 on http-8443 > Jan 21, 2008 6:09:02 PM org.apache.jk.common.ChannelSocket init > INFO: JK: ajp13 listening on /0.0.0.0:8009 > Jan 21, 2008 6:09:02 PM org.apache.jk.server.JkMain start > INFO: Jk running ID=0 time=0/141 config=null > Jan 21, 2008 6:09:02 PM org.apache.catalina.startup.Catalina start > INFO: Server startup in 12883 ms > Jan 21, 2008 6:09:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor > handleMessage > INFO: Request path is: / > Jan 21, 2008 6:09:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor > handleMessage > INFO: Request HTTP method is: GET > Jan 21, 2008 6:09:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor > handleMessage > INFO: Request contentType is: */* > Jan 21, 2008 6:09:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor > handleMessage > INFO: Accept contentType is: */* > Jan 21, 2008 6:09:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor > handleMessage > SEVERE: No operation found for path: /, contentType: */*, Accept > contentType: */* > Jan 21, 2008 6:09:03 PM org.apache.cxf.phase.PhaseInterceptorChain > doIntercept > INFO: Interceptor has thrown exception, unwinding now > java.lang.NullPointerException > at > org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:102) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78) > at > org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:264) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) > at > org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170) > at > org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:152) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Unknown Source) > > 2) Another issue is with the output format, for ProductMime - XML it works > fine. > The issue arise for json, if there is more than one resultset the > application fails. It process the data but fails for > display-java.lang.ClassCastException. Here is the error message > > ERROR: > Jan 21, 2008 6:38:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor > handleMessage > INFO: Available content types for response is: application/json, > Jan 21, 2008 6:38:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor > handleMessage > INFO: Response EntityProvider is: org.apache.cxf.jaxrs.provider.JSONProvider > Jan 21, 2008 6:38:03 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor > handleMessage > INFO: Response content type is: application/json > Jan 21, 2008 6:38:04 PM org.apache.cxf.phase.PhaseInterceptorChain > doIntercept > INFO: Interceptor has thrown exception, unwinding now > java.lang.ClassCastException: org.codehaus.jettison.json.JSONArray cannot be > cast to org.codehaus.jettison.json.JSONObject > at > org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeAttribute(MappedXMLStreamWriter.java:93) > at > org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeAttribute(MappedXMLStreamWriter.java:130) > at > org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeAttribute(MappedXMLStreamWriter.java:134) > at > com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.attribute(XMLStreamWriterOutput.java:131) > at > com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.attribute(XmlOutputAbstractImpl.java:106) > at > com.sun.xml.bind.v2.runtime.XMLSerializer.attribute(XMLSerializer.java:440) > at > com.sun.xml.bind.v2.runtime.property.AttributeProperty.serializeAttributes(AttributeProperty.java:99) > at > com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeAttributes(ClassBeanInfoImpl.java:331) > at > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:677) > at > com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:65) > at > com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:168) > at > com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:152) > at > com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322) > at > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:587) > at > com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:312) > at > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:488) > at > com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:317) > at > com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:164) > at > org.apache.cxf.jaxrs.provider.JSONProvider.writeTo(JSONProvider.java:90) > at > org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:99) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) > at > org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78) > at > org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:79) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:264) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:123) > at > org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170) > at > org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:152) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Unknown Source) > > Thanks in advance. > Awaiting for your reply, > Regards, > Priya
