Hi,

When I get a chance I was planning to work out how to get this working
without using the environment stuff and using properties placeholder
configurer

Sent from my Galaxy S2
On Mar 14, 2013 4:56 AM, "Oliver Moser" <[email protected]> wrote:

> Hi Dan
>
> On 2013-03-13 18:42, Daniel Kulp wrote:
>
>> 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).
>>
> Thanks.
>
> On the other hand, I just finished upgrading to 2.7.3, and with this
> version, Jason's approach (the 
> "**PropertyPlaceholderResolvingCo**nduitConfigurer")
> seems to work. Looks like some things changed in this regard from 2.6 to
> 2.7.
>
> However, I still have to explicitly add the Properties that holds the
> endpoints urls (${client1.url} in my sample below) using
>
>      ((**ConfigurableApplicationContext**)context).getEnvironment().
>           getPropertySources().addFirst(**new 
> ResourcePropertySource(**additionalProperties));
> // <-- additionalProperties points to "/WEB-INF/backends-local.**
> properties"
>
> in setApplicationContext() of the HTTPConduitConfigurer implementation.
> I'm not sure why the properties that I have configured using
>
>     <context:property-placeholder location="/WEB-INF/backends-**
> local.properties"/>
>
> are not available at the time the HTTPConduitConfigurer is initialized.
> Also played with depends-on, but that didn't do the trick.
>
> cheers
>
>
>
>> 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<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
>>>
>>
> --
> Oliver Moser
>

Reply via email to