I'm using Karaf 2.3.2 and Felix 2.7.4...

I'm had a hell of a time trying to setup a conduit that uses the Blueprint
property-placeholder to inject trust store parameters. The conduit works
when I explicitly configure the trust store properties. Unfortunately, when
I use placeholders it fails. It seems like maybe using Blueprint property
placeholders with conduits does not work. If there was an easy way to
construct similar regex matching conduits in code or by some more tedious
bean construction this wouldn't be that bit an issue but I tried many ways
and failed. No docs to help with this problem... woe is me.

In an act of sheer desperation I spent a few hours going through the CXF
code trying to figure out how I can build this bundle so I don't have to
include clear text passwords in the blueprint configuration. By sheer
chance, I stumbled across HTTPTransportActivator and it looks like something
I could use to solve my problem but of course there's no documentation on
how to use it. Can someone please take pity on this pour soul and help me
figure out how to use this feature?

Alternatively, I've included my original blueprint configuration in case
someone wants to look at it and can figure out what I did wrong. Thanks in
advance.

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0";
    xmlns:cxf="http://cxf.apache.org/blueprint/core";
    xmlns:http="http://cxf.apache.org/transports/http/configuration";
    xmlns:sec="http://cxf.apache.org/configuration/security";
    xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws";
    xsi:schemaLocation="
        http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
        http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0
http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
        http://cxf.apache.org/blueprint/core
http://cxf.apache.org/schemas/blueprint/core.xsd
        http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
        http://cxf.apache.org/configuration/security
http://cxf.apache.org/schemas/configuration/security.xsd
        http://cxf.apache.org/blueprint/jaxws
http://cxf.apache.org/schemas/blueprint/jaxws.xsd";>

    <cm:property-placeholder id="properties"
        persistent-id="com.example.sts.test.system">
        <cm:default-properties>
            <cm:property name="tls.trustStoreFile"
value="certs/truststore.jceks" />
            <cm:property name="tls.trustStorePassword" value="" />
        </cm:default-properties>
    </cm:property-placeholder>

    <http:conduit id="httpConduit" name="https://localhost:(\d)*/sts/.*">
        <http:tlsClientParameters>
          <sec:trustManagers>
            <sec:keyStore type="jceks"
                file="${tls.trustStoreFile}"
                password="${tls.trustStorePassword}" />
          </sec:trustManagers>
        </http:tlsClientParameters>
    </http:conduit>
</blueprint>



--
View this message in context: 
http://cxf.547215.n5.nabble.com/Blueprint-property-placeholder-does-not-work-with-HTTP-conduit-configuration-tp5740946.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to