cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrei Shakirin <ashaki...@talend.com>
Subject RE: Extended support for wsdl11external WS-PolicyAttachments references
Date Mon, 28 Apr 2014 10:16:45 GMT
Hi Dan,

URIDomainExpressionBuilder [1] was added to support all WSDL11 domain expressions accordingly
spec [2] (excluding wsdl11.extension(namespace,identifier)).
I am thinking about registration of this builder as default bus extension (the same way as
EndpointReferenceDomainExpressionBuilder):
- from one side default registration is comfortable for users applying WSDL11 expressions
in external attachments, this will work just out of the box.
- from other side, if user would like to register own domain expression (like in one security
integration test [3]), it will be very difficult to replace default builder. 

The problem is that SpringConfiguredBeanLocator used in DomainExpressionBuilderRegistry loads
Spring beans on first step and then checks for Bus extensions (using ExtensionManager). Beans
specified in custom configuration will be overwritten by registered bus extension.
If client or service is created using spring configuration, it is not trivial to replace default
DomainExpressionBuilder (it is possible with ExtensionManagerImpl internal methods, but not
convenient).

I see following options:
(a) Leave the code as is and document that user have to register URIDomainExpressionBuilder
as bus extension or as a bean to use WSDL11 expressions.
(b) Change initialization order in SpringConfiguredBeanLocator to give spring beans higher
priority as bus extensions (this can have side effects)
(c) Introduce convenient mechanism to replace/remove registered bus extensions or control
behaviour of ConfiguredBeanLocator.
 
What is your opinion? May be I am missing something and option (c) is already available?

Regards,
Andrei.

[1] https://fisheye6.atlassian.com/changelog/cxf?cs=a4ea197c50c99d0c02d9226484c3ee0f8fa63b05
 
[2] http://www.w3.org/TR/2007/NOTE-wsdl11elementidentifiers-20070720/ 
[3] https://fisheye6.atlassian.com/browse/cxf/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/policy/UriDomainExpression.java


> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org]
> Sent: Freitag, 11. April 2014 19:40
> To: dev@cxf.apache.org; Andrei Shakirin
> Subject: Re: Extended support for wsdl11external WS-PolicyAttachments
> references
> 
> 
> No objections here.   I think we just implemented the few basic places to meet
> whatever test case we were shooting for with the old Microsoft interoperability
> tests and didn't go much further.
> 
> Dan
> 
> 
> On Apr 11, 2014, at 5:44 AM, Andrei Shakirin <ashakirin@talend.com> wrote:
> 
> > Hi,
> >
> > Currently CXF supports only limited set of references for external WS-
> PolicyAttachments (wsa:EndpointReferenceType):
> >
> > <attachments xmlns:wsp="http://www.w3.org/ns/ws-policy"
> xmlns:test="http://x.y.z/Assertions">
> >    <wsp:PolicyAttachment>
> >        <wsp:AppliesTo>
> >            <wsa:EndpointReferenceType
> xmlns:wsa="http://www.w3.org/2005/08/addressing">
> >                <wsa:Address>http://x.y.z/GreeterPort</wsa:Address>
> >            </wsa:EndpointReferenceType>
> >        </wsp:AppliesTo>
> >        <wsp:Policy>
> >           <test:A>A</test:A>
> >        </wsp:Policy>
> >    </wsp:PolicyAttachment>
> > </attachments>
> >
> > I propose to extend that to support at least some URI Domain Expression for
> wsdl11:
> > wsdl11.definitions()
> > wsdl11.service(service)
> > wsdl11.binding(binding)
> > wsdl11.bindingOperation(binding/operation)
> > wsdl11.bindingOperation.input(binding/operation)
> > wsdl11.bindingOperation.output(binding/operation)
> > wsdl11.bindingOperation.fault(binding/operation/fault)
> >
> > I see that some work was started in cxf-rt-ws-policy
> Wsdl11XPointerDomainExpression class, but it seems that is not complete.
> > Partly it is also implemented in systests
> > org.apache.cxf.systest.ws.policy.UriDomainExpression and
> > org.apache.cxf.systest.ws.policy.UriDomainExpressionBuilder
> >
> > I would create Jira and add support for wsdl11 references.
> > Any suggestions / objections?
> >
> > Regards,
> > Andrei.
> >
> 
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog Talend Community Coder -
> http://coders.talend.com


Mime
View raw message