I don't have an answer to your question, but to clarify, are you saying that if you upgraded to the latest CXF 2.7.3 Jason's approach would work for you? (Is doing such an upgrade an option for you if it would?)

Glen

On 03/13/2013 06:32 AM, Oliver Moser wrote:
Hi Glen

On 2013-03-12 22:03, Glen Mazza wrote:
Hmm.  http-conf configuration is for a specific port, and it's
presently assumed that the properties for that port would be the same
regardless of the client connecting to it.  Dan Kulp informed me on
IRC there's already a JIRA request to provide something quite similar
to what you're requesting
(https://issues.apache.org/jira/browse/CXF-4811).
I had a look at the jira. However, the approach Jason posted does not work for me.

I'm using cxf 2.6.1, and the PatternSyntaxException happens during initialization of the spring bus.

setApplicationContext() in SpringBus.java also sets the various extensions, amongst them

    ...
setExtension(new ConfigurerImpl(applicationContext), Configurer.class);
    ...

ConfigurerImpl parses the bean definitions for wildcards (via initWildcardDefinitionMap()), and this is where the PatternException occurs.

So, is there a way to replace the default configurer with a custom configurer that basically does what Jasons custom conduit configurer does? I.e. first replace property placeholders and run the pattern matcher on the resulting string?

cheers

Oliver




It would be messy, but if you configure two configuration files, one
for each client, each having a different http-conf configuration, and
reference them from the same Java class, that *might* work (unsure -
haven't tested it.)

Glen

On 03/12/2013 11:27 AM, Oliver Moser wrote:
Hi

I recently stumbled over a configuration issue with http conduits that i'm still not able to resolve.

I have two jaxws:clients configured that have the same service class associated:

    <jaxws:client id="client1"
                  serviceClass="a.b.c.PortType"
                  address="${client1.url}"
                  username="${client1.username}"
                  password="${client1.password}">
    </jaxws:client>

    <jaxws:client id="client2"
                  serviceClass="a.b.c.PortType"
                  address="${client2.url}"
                  username="${client2.sysid}"
                  password="${client2.password}">
    </jaxws:client>

How can I configure two seperate http-conf:conduits that have different settings for proxy, timeout etc.? I cannot reference it via "{http://acme.com/}PortType"; since they are the same for both clients, nor can I use wildcards. What would work is if I could use the property placeholders for the URLs, since the endpoints are different:


    <http-conf:conduit name="${client1.url}">
        <http-conf:client ConnectionTimeout="10000"
                          ReceiveTimeout="20000"
                          ProxyServer="${proxy.host}"
                          ProxyServerPort="${proxy.port}"/>
    </http-conf:conduit>

    <http-conf:conduit name="${client2.url}">
        <http-conf:client ConnectionTimeout="30000"
                          ReceiveTimeout="40000"/>
    </http-conf:conduit>

However, a regex is expected in this case, and hence this try fails with a PatternSyntaxException.

anyone got an idea on how to solve this? Maybe I miss something.

cheers



Reply via email to