I refined the hack and just use the endpoint info getProperty directly. No need to map to a client.
Though I would add a getEndpointInfo method to HttpConduit so I can get rid of reflection after 2.7.14 On 10/10/2014 12:58 PM, "Jason Pell" <[email protected]> wrote: > I came up with a really dodgy solution that actually works :-) > > > https://github.com/pellcorp/cxf/blob/master/JavaFirst/src/main/java/com/pellcorp/client/HttpsConduitAlternativeSelector.java > > I loaded up a list of all jaxws clients. > > I used reflection to get hold of the endpoint info from the conduit passed > to the AlternativeSelector, so I can then find the related client by > comparing the endpoint info instances. > > I can then get access to the JaxwsEndpointImpl properties. > > So I create two clients, one which uses password auth, the other uses the > default, (which could be saml if a mutual ssl tunnel is active, or password > if not) > > I define a property in the jaxws:client > > <jaxws:properties> > <entry key="preferred.auth.method" value="UsernamePassword" /> > </jaxws:properties> > > I know it's nasty and I plan to get rid of it once we can upgrade to cxf > 3, but I think it should suffice for now > > > > > On Fri, Oct 10, 2014 at 11:01 AM, Jason Pell <[email protected]> wrote: > >> I can't upgrade to 3.x as yet. So I need to figure out a way to do this >> in 2.7. >> On 10/10/2014 4:18 AM, "Daniel Kulp" <[email protected]> wrote: >> >>> >>> On Oct 9, 2014, at 5:41 AM, Jason Pell <[email protected]> wrote: >>> >>> > For instance I want to force choosing username password token for one >>> > method call and then a saml bearer token for all others. >>> > >>> > I don't have enough info in the assertor http conduit >>> >>> In the AlternativeSelector for CXF 3.0.x, we added the Message as a >>> parameter. Thus, you should be able to look at the operation being called >>> and select different alternatives. That param was added to specifically >>> address this type of use case. (as well as ability to look in the message >>> to see if things like usernames/passwords are available and maybe select a >>> different alternative if not). >>> >>> >>> >>> -- >>> Daniel Kulp >>> [email protected] - http://dankulp.com/blog >>> Talend Community Coder - http://coders.talend.com >>> >>> >
