Found it :)
In Derkoe's ServiceInvoker
class. The method start
is empty. Just put that line in it:
ResourceInjector.STANDALONE.inject(wsc, service);
I borrowed it from the com.sun.xml.ws.server.SingletonResolver<T>
class.
Question
I have experimented with Derkoe's code that integrates JAX-WS
services with Tapestry's. Tapestry is a web and DI (i.e. Dependency Injection) framework.
The code works great but I couldn't fully use all JAX-WS features.
Tapestry's IoC creates a proxy for my web services, and thus doesn't honor JAX-WS annotations. And JAX-WS context listener, doesn't of course honor Tapestry's configuration for my service, so it won't perform any DI.
So I can either operate my Tapestry services, without JAX-WS full support, only web methods will be called,
Or
I can use JAX-WS full support, but none of the DI support.
So how can I integrate JAX-WS with Tapestry's IoC ? This is mainly a JAX-WS question.
As far as I have reached, I should replace this class (InstanceResolver). But how ? I can't find a clear answer.
I can't use any other framework. Only JAX-WS and Tapestry.
Solution
Found it :)
In Derkoe's ServiceInvoker
class. The method start
is empty. Just put that line in it:
ResourceInjector.STANDALONE.inject(wsc, service);
I borrowed it from the com.sun.xml.ws.server.SingletonResolver<T>
class.