On Mar 13, 2013, at 10:07 AM, Oliver Moser <[email protected]> wrote: > Hi Glen > > On 2013-03-13 14:38, Glen Mazza wrote: >> 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?) > I don't know if upgrading would make Jason's approach work for me, but > somehow I assumed that his approach was intended for CXF 2.4 (jira says > affected version 2.4.3) > > Anyways, I can give it a try an upgrade to CXF 2.7, but I'm not sure if that > will help. > > Question for me that still remains is how to replace the default configurer, > so that I can handle the property placeholders in my own implementation.
You can always do a: Configurer cfg = bus.getExtension(Configurer.class); cfg = new MyCustomConfigurer(cfg); bus.setExtension(cfg, Configurer.class); where MyCustomConfigurer wrappers the original and delegates to it for anything you don't handle yourself (conduits). Dan > > cheers > > Oliver > > >> >> 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 >>>>> >>> > > -- > Oliver Moser -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
