On 02/15/2011 10:26 AM, Jason T. Greene wrote:
On 2/15/11 9:40 AM, Darran Lofthouse wrote:
> On 02/15/2011 03:39 PM, Jason T. Greene wrote:
>>
>> Isn't this just a matter of looking to see if there is a @WebServiceRef
>> in the annotaiton index?
>
> There are currently plenty of users that will place a WS client within
> either their servlets or EJBs but without injection.
Yeah ignore that, I half read the post. Technically deployments do need
to see the API classes, there is nothing wrong with that.
However I am not so sure about:
<!-- CXF META-INF servicies -->
> <module name="org.jboss.ws.cxf.jbossws-cxf-factories"
services="import"/>
> <!-- CXF JAXWS API impl -->
> <module name="org.jboss.ws.cxf.jbossws-cxf-client"
services="import"/>
In pricipal user code should only need to import an API. Then the
container impl takes care of passing a ref that is castable to the API.
The one exception is of course, static factories, which are more complex
to solve. I assume thats why we have service loader imports on those.
Even static factories are solvable, depending on how they are
implemented. Making the API in question import the impl is one option;
controlling the TCCL is another option. It all depends on the situation.
We should keep in the back of our mind that users may want to
override
this, and go with some different JAX-WS client (sacraficing EE
integration features). Until we have the custom classloading deployment
config its hard to say how this will be accomplished.
Yeah we need to evaluate each issue case-by-case. Almost every such API
we export does it a different way.
--
- DML