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.

  • How can I extend\modify, how JAX-WS create services ?

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.

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top