hi michael, @Inject only works in Tapestry pages and components (and mixins). By default Tapestry will use the field type as an id and lookup the corresponding ioc service.
I assume your Web Service Container was not started by the ioc container so it runs outside its control. Therefore you have to first obtain an ioc Registry first and then ask it explicitly for the service you want to call. The builder methods are not meant to be called except by the container :) g, kris "Michael Bernagou" <[EMAIL PROTECTED]> 14.12.2007 10:51 Bitte antworten an "Tapestry users" <users@tapestry.apache.org> An "Tapestry users" <users@tapestry.apache.org> Kopie Thema IoC global question Hi, I have a sort of general question about tapestry-ioc. In fact, I would like it to manage all the services of my webapp. In theory it should be the case, shouldn't be? So to provides services to my MVC, no problem the syntax @Inject MyService _myService; work perfectly. But, to provide services the same way for my Dao it's different. The same syntax doesn't provide any instance. I used the tapestry-hibernate and declare my dao as services : import org.hibernate.Session; public static UserDao buildUserDao(@InjectService("Session") Session session) { return new UserDaoImpl(session); } public static UserService buildUserService(@InjectService("UserDao") UserDao dao) { return new UserServiceImpl(dao); } So my implementation can work. But to use the service, all the callers have to know a session object! Ok, if my caller is a web service, and this web service want to call the UserService, @Inject UserService _userService; DOES NOT work and _userService is null! So I have to call explicitely the builder of my service FROM the web service... If I do that, I bypass the IoC purpose because I link it directly : UserService us = AppModule.buildUserService( ... and then I have a problem! buildUserService need a UserDao, but my web service doesn't care about knowing any kind of dao! So, I should be able to use @Inject MyService _myService; anywhere in my project and the tapestry-ioc should be able to give instance to all the class... Did I (probably) missed something? -- Michael Bernagou Java Developper