not sure off hand, you'll have to make sure the component scan is loading
that bean of yours and it's matching either the name or the type properly.

This is a spring problem though not a CXF problem, in terms of CXF it
should work as normal as it's just a bean loaded by spring (I'm assuming
the web service itself is loaded as a spring bean in the same context).

You should just need to debug your spring contexts to find out what's up.


On Fri, May 18, 2012 at 10:40 AM, <[email protected]> wrote:

> Componentscan:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>    xmlns:context="http://www.springframework.org/schema/context";
>        xmlns:tx="http://www.springframework.org/schema/tx";
>        xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
>
> http://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context-3.1.xsd
>
> http://www.springframework.org/schema/tx
> http://www.springframework.org/schema/tx/spring-tx-3.1.xsd";>
>
>        <!-- Load all annotated beans from com.thomsonreuters -->
>        <context:component-scan base-package="com.thomsonreuters"/>
>
>        <!-- Process @PersistenceContext to inject entity manager factory
> -->
>        <bean
> class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"
> />
>         .
>        .
>        .
>
> -----Original Message-----
> From: Ted [mailto:[email protected]]
> Sent: Thursday, May 17, 2012 5:38 PM
> To: [email protected]
> Subject: Re: @Inject annotation not working with Spring service
>
> yeah but how have you put it in the spring context? i.e. componentscan?
> xml?  or???
>
> On Fri, May 18, 2012 at 10:36 AM, <[email protected]>
> wrote:
>
> > I'm using the @Repository annotation for the DAO:
> >
> > @Repository("userDAO")
> > public class UserDAO {
> >        @PersistenceContext
> >        private EntityManager entityManager;
> >
> >        @Transactional
> >        public void persist(User user) {
> >                entityManager.persist(user);
> >        }
> >        .
> >        .
> >        .
> >
> >
> > -----Original Message-----
> > From: Ted [mailto:[email protected]]
> > Sent: Thursday, May 17, 2012 5:34 PM
> > To: [email protected]
> > Subject: Re: @Inject annotation not working with Spring service
> >
> > It shouldn't make any difference at all.
> >
> > I do the same thing but with the annotation @Component instead of
> > @service and @autowired instead of @Inject.
> >
> > The only reason I can think of that it would be null is if you don't
> > have a matching UserDao that's in the spring context... are you sure
> > you have that object in the spring context?
> >
> >
> >
> > On Fri, May 18, 2012 at 10:22 AM, <[email protected]>
> > wrote:
> >
> > > I have a service that I've created using the Spring @Service
> annotation.
> > >  I am injecting Spring dependencies into the service using the
> > > @Inject annotation.  When I invoke my service I get a
> > > NullPointerException when referencing the injected dependency (in this
> case a DAO).
> > >
> > > @Service("userServiceImpl-2012-02-01")
> > > @WebService(serviceName = "UserService", name = "UserServicePort",
> > > portName = "UserServicePort", targetNamespace = "
> > > http://www.thomsonreuters.com/services/userservice/2012-02-01";)
> > > public class UserServiceImpl implements UserService {
> > >
> > >       @Inject
> > >       private UserDAO userDAO;
> > >
> > >       public UserCollectionResponse findUserByName(String userName) {
> > >              Collection<com.thomsonreuters.persistence.User>
> > > userEntityCollection = userDAO.findByName(userName);
> > >
> > >              UserCollectionResponse userCollectionResponse = new
> > > UserCollectionResponse();
> > >              userCollectionResponse.userCollection =
> > > userConverter.convertToServiceObject(userEntityCollection);
> > >
> > >              return userCollectionResponse;
> > >       }
> > > }
> > >
> > > When I do the same via bean definition files, so services defined as
> > > bean in file and dependencies injected via the bean definition in
> > > the file, all works okay.
> > >
> > >       <bean id="userServiceImpl-2012-02-01"
> > >
> > class="com.thomsonreuters.services.userservice._2012_02_01.UserService
> > Impl">
> > >              <property name="userDAO" ref="userDAO"/>
> > >              <property name="userConverter" ref="userConverter"/>
> > >       </bean
> > >
> > >      <jaxws:endpoint id="userServiceEndPoint-2012-02-01"
> > >
> >  implementor="#userServiceImpl-2012-02-01"
> > >
> > >  address="/userservice/2012-02-01/userservice"
> > > wsdlLocation="UserService.wsdl">
> > >              <jaxws:properties>
> > >                     <entry key="schema-validation-enabled"
> value="true"/>
> > >              </jaxws:properties>
> > >       </jaxws:endpoint>
> > >
> > > Anyone run into something like this?  I'm not sure how using the
> > > annotations instead of the file definitions would cause any issues.
> > > Tom
> > >
> > >
> >
> >
> > --
> > Ted.
> >
>
>
>
> --
> Ted.
>



-- 
Ted.

Reply via email to