Endpoint configuration - jbossws descriptors
by Alessio Soldano
Folks,
jbossws-native comes with the @org.jboss.ws.annotation.EndpointConfig
annotation for referencing a given endpoint configuration file. The
schema for that configuration file (well, it's actually for both clients
and endpoints, but let's stick to the endpoint case for now) is at [1] .
Basically, the configuration covers handlers, features and properties
(plus some native specific ws-rm stuff) and is used both for the
"default" configurations [2] and for custom user provided
configurations, perhaps even coming within a deployment. The same
configurations files can also be referenced on client side through
jbossws-native specific api. As of today, the most common usage is
probably for enabling WS-Security on native stack.
Now, as part of [3] and considering the AS7 efforts around isolating
APIs from implementation stuff at runtime, I'm thinking about what to do
with @EndpointConfig.
Moreover, we currently have a feature request regarding the need for
defining global endpoint handlers [4] as well as the will for allowing
WS-Security endpoint configuration with JBossWS-CXF stack without the
need of spring bean descriptors. Especially after my changes for using
Apache CXF 2.4 [5], the latter basically means being able to simply set
string properties into the endpoint, as CXF / its policy engine / WSS4J
are then able to deal with everything else.
So, considering this all, with the aim of further unifying the jbossws
configuration, I'm proposing to:
- add @EndpointConfig annotation to the public api in jbossws-api;
extend the jaxws endpoint "configuration" that was a native aspect only
to be a stack agnostic jbossws one instead
- refactor the client/endpoint configuration schemas, pruning the native
specific stuff (basically ws-rm) and perhaps moving that to a native
stack specific extension of the schema; we might even have a cxf stack
specific extension for cxf interceptors, but that's not strictly
required now (jaxws handlers should be enough for now)
- add the default endpoint configuration to the AS7 domain model: after
all, this is a global configuration aspect of the application server and
hence should be manageable
- modify our jbossws-cxf stack deployment aspects: when building the
endpoint model, they will consider the endpoint configuration either
from the default conf in the domain model or from a user provided
descriptor in the deployment and referenced through @EndpointConfig
With this solution we'd clean a inconsistency in the api
(@EndpointConfig for native only till now), add a mean for having global
handlers configured by administrators [4] and allow providing security
keystore/trustore/etc. info and use WS-Security(policy) with jbossws-cxf
without any need for Spring.
Any comments?
Cheers
Alessio
[1]
http://anonsvn.jboss.org/repos/jbossws/stack/native/trunk/modules/core/sr...
[2]
http://anonsvn.jboss.org/repos/jbossws/stack/native/trunk/modules/core/sr...
[3] https://issues.jboss.org/browse/JBWS-2709
[4] https://issues.jboss.org/browse/JBWS-3109
[5] https://issues.jboss.org/browse/JBWS-3272
--
Alessio Soldano
Web Service Lead, JBoss
13 years, 8 months