users@jersey.java.net

Re: [Jersey] Error using Spring Bean in Jersey resource class - Plz Help!!

From: Chris Carrier <ctcarrier_at_gmail.com>
Date: Fri, 19 Mar 2010 09:39:21 -0700

Probably a stupid question but you mention portalservice is defined in
you applicationContext. 'personservice' is defined as a bean
somewhere right?

Chris

On Fri, Mar 19, 2010 at 8:47 AM, Jay_K <raj_jai11_at_yahoo.com> wrote:
>
> Hello,
> I am trying to use an existing Spring Bean (which connects to my database)
> in Jersey Resource class. But I am getting NullPointerException when trying
> to call the method of this bean in my Resource class method. Below is the
> code snapshot.
>
> @Path("/portaldetails")
> @Component
> @Scope("singleton")
> public class PortalResource {
>
>        private PersonService personservice;
>
>        public void setPersonservice(PersonService personservice) {
>                this.personservice = personservice;
>        }
>
>
>        @GET
>        @Produces("text/plain")
>        public String getLeaveDetails(@QueryParam("portalId") String portalId)  {
>
>                String portalParam = null;
>                String personId = null;
>
>                portalParam = portalId;
>
>                if(portalParam != null) {
>                        // personservice is a Spring bean which inturn access database to fetch
> personId from portalId
>
>                        personId = personservice.getPersonId(portalId);
>                }
>
>                return personId;
>        }
>
> My Web.xml has below config
>
>        <servlet>
>                <description>Jersey Servlet</description>
>                <display-name>JerseyServlet</display-name>
>                <servlet-name>JerseyServlet</servlet-name>
>                <!--
> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
> -->
>
> <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
>                <init-param>
>            <param-name>com.sun.jersey.config.property.packages</param-name>
>            <param-value>org.unjspf.eleave.service</param-value>
>        </init-param>
>
>        <load-on-startup>3</load-on-startup>
>        </servlet>
>        <servlet-mapping>
>                <servlet-name>JerseyServlet</servlet-name>
>                <url-pattern>/resources/*</url-pattern>
>        </servlet-mapping>
>
> The Spring ApplicationContext XML file has below bean definition for
> injecting spring bean into Jersey resource
>        <bean id="portalservice" class="org.unjspf.eleave.service.PortalResource">
>                <property name="personservice"><ref bean="personservice" /></property>
>        </bean>
>
>
> After starting my Websphere server below is the console log.
>
> [3/19/10 11:42:42:086 EDT] 0000000b PackagesResou I   Scanning for root
> resource and provider classes in the packages:
>  org.unjspf.eleave.service
> [3/19/10 11:42:42:149 EDT] 0000000b ScanningResou I   Root resource classes
> found:
>  class org.unjspf.eleave.service.PortalResource
> [3/19/10 11:42:42:149 EDT] 0000000b ScanningResou I   No provider classes
> found.
> [3/19/10 11:42:42:461 EDT] 0000000b WebApplicatio I   Initiating Jersey
> application, version 'Jersey: 1.1.5 01/20/2010 03:55 PM'
> [3/19/10 11:42:43:571 EDT] 0000000b servlet       I
> com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I:
> [ELeaveEARProject] [/OnTime] [JerseyServlet]: Initialization successful.
>
> On accessing the Jersey Resource class using below URL I get the following
> error.
> http://localhost:9081/OnTime/resources/portaldetails?portalId=john12201954
>
> [3/19/10 11:45:40:179 EDT] 0000001a ContainerResp E   The RuntimeException
> could not be mapped to a response, re-throwing to the HTTP container
>                                 java.lang.NullPointerException
>        at
> org.unjspf.eleave.service.PortalResource.getLeaveDetails(PortalResource.java:81)
>
> --
> View this message in context: http://n2.nabble.com/Error-using-Spring-Bean-in-Jersey-resource-class-Plz-Help-tp4763799p4763799.html
> Sent from the Jersey mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>
>