You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Jose María Zaragoza <de...@gmail.com> on 2015/06/11 16:02:08 UTC
http-conf:conduit : configure global settings for all proxy clients
Hello:
I'm using CXF 2.7.8 to implement several webservice proxy clients (
SOAP , REST )
All of them have the same timeout parameters:
<http-conf:conduit name="http://.*">
<http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
</http-conf:conduit>
Now, one of them ( http://foo.com/ ) needs BASIC auth
If I configure
<http-conf:conduit name="http://.*">
<http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
</http-conf:conduit>
<http-conf:conduit name="http://foo.com/.*">
<http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
<http-conf:authorization>
<sec:UserName>xxx</sec:UserName>
<sec:Password>xxx</sec:Password>
</http-conf:authorization>
</http-conf:conduit>
foo.com's proxy client takes the first configuration , not the more
restrictive .
That's weird for me . Shouldn't it be more more restrictive first ?
How I can configure global settings for all proxy clients and to set
individual parameters to one proxy client ?
Thanks and regards
Re: http-conf:conduit : configure global settings for all proxy clients
Posted by Sergey Beryozkin <sb...@gmail.com>.
I've looked at this issue and as far as multiple conduits with regular
expressions are concerned it is difficult for CXF to figure out which is
more specific - the specifics are effective encoded in the regular
expressions so it is hard to know which one is more specific.
However I've updated CXF starting from 3.0.x to do a basic sorting of
such expressions using a number of characters as a key, this should
cover nearly 100% of cases with reasonably simple expressions. I did not
merge it to 2.7.x, I reckon it is safe, but just in case, given 2.7.x is
very close to the end of the lifecycle, I did not merge to 2.7.x.
In 2.7.x you can still do it by restricting the wider wildcard
expression, perhaps similar to
http://stackoverflow.com/questions/2078915/a-regular-expression-to-exclude-a-word-string
Note the placeholder related issue is different to this one and still
needs to be addressed
Cheers, Sergey
On 16/06/15 12:36, Jose María Zaragoza wrote:
> 2015-06-16 13:33 GMT+02:00 Sergey Beryozkin <sb...@gmail.com>:
>> Hi, this is probably related to
>> https://issues.apache.org/jira/browse/CXF-5320
>
> Sure.
>
> Thanks
>
>>
>> Cheers, Sergey
>>
>> On 11/06/15 15:33, Jose María Zaragoza wrote:
>>>
>>> 2015-06-11 16:02 GMT+02:00 Jose María Zaragoza <de...@gmail.com>:
>>>>
>>>> Hello:
>>>>
>>>> I'm using CXF 2.7.8 to implement several webservice proxy clients (
>>>> SOAP , REST )
>>>>
>>>> All of them have the same timeout parameters:
>>>>
>>>> <http-conf:conduit name="http://.*">
>>>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000"
>>>> />
>>>> </http-conf:conduit>
>>>>
>>>> Now, one of them ( http://foo.com/ ) needs BASIC auth
>>>>
>>>>
>>>> If I configure
>>>>
>>>> <http-conf:conduit name="http://.*">
>>>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000"
>>>> />
>>>> </http-conf:conduit>
>>>>
>>>> <http-conf:conduit name="http://foo.com/.*">
>>>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000"
>>>> />
>>>> <http-conf:authorization>
>>>> <sec:UserName>xxx</sec:UserName>
>>>> <sec:Password>xxx</sec:Password>
>>>> </http-conf:authorization>
>>>> </http-conf:conduit>
>>>>
>>>
>>> Well , i think my problem is using a placeholder as
>>> http-conf:conduit's name property
>>> Cannot I use a placeholder as http-conf:conduit's name property ?
>>>
>>>
>>> Regards
>>>
>>>
>>>
>>>>
>>>> foo.com's proxy client takes the first configuration , not the more
>>>> restrictive .
>>>> That's weird for me . Shouldn't it be more more restrictive first ?
>>>>
>>>>
>>>> How I can configure global settings for all proxy clients and to set
>>>> individual parameters to one proxy client ?
>>>>
>>>> Thanks and regards
>>
>>
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com
Re: http-conf:conduit : configure global settings for all proxy clients
Posted by Jose María Zaragoza <de...@gmail.com>.
2015-06-16 13:33 GMT+02:00 Sergey Beryozkin <sb...@gmail.com>:
> Hi, this is probably related to
> https://issues.apache.org/jira/browse/CXF-5320
Sure.
Thanks
>
> Cheers, Sergey
>
> On 11/06/15 15:33, Jose María Zaragoza wrote:
>>
>> 2015-06-11 16:02 GMT+02:00 Jose María Zaragoza <de...@gmail.com>:
>>>
>>> Hello:
>>>
>>> I'm using CXF 2.7.8 to implement several webservice proxy clients (
>>> SOAP , REST )
>>>
>>> All of them have the same timeout parameters:
>>>
>>> <http-conf:conduit name="http://.*">
>>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000"
>>> />
>>> </http-conf:conduit>
>>>
>>> Now, one of them ( http://foo.com/ ) needs BASIC auth
>>>
>>>
>>> If I configure
>>>
>>> <http-conf:conduit name="http://.*">
>>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000"
>>> />
>>> </http-conf:conduit>
>>>
>>> <http-conf:conduit name="http://foo.com/.*">
>>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000"
>>> />
>>> <http-conf:authorization>
>>> <sec:UserName>xxx</sec:UserName>
>>> <sec:Password>xxx</sec:Password>
>>> </http-conf:authorization>
>>> </http-conf:conduit>
>>>
>>
>> Well , i think my problem is using a placeholder as
>> http-conf:conduit's name property
>> Cannot I use a placeholder as http-conf:conduit's name property ?
>>
>>
>> Regards
>>
>>
>>
>>>
>>> foo.com's proxy client takes the first configuration , not the more
>>> restrictive .
>>> That's weird for me . Shouldn't it be more more restrictive first ?
>>>
>>>
>>> How I can configure global settings for all proxy clients and to set
>>> individual parameters to one proxy client ?
>>>
>>> Thanks and regards
>
>
Re: http-conf:conduit : configure global settings for all proxy clients
Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi, this is probably related to
https://issues.apache.org/jira/browse/CXF-5320
Cheers, Sergey
On 11/06/15 15:33, Jose María Zaragoza wrote:
> 2015-06-11 16:02 GMT+02:00 Jose María Zaragoza <de...@gmail.com>:
>> Hello:
>>
>> I'm using CXF 2.7.8 to implement several webservice proxy clients (
>> SOAP , REST )
>>
>> All of them have the same timeout parameters:
>>
>> <http-conf:conduit name="http://.*">
>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
>> </http-conf:conduit>
>>
>> Now, one of them ( http://foo.com/ ) needs BASIC auth
>>
>>
>> If I configure
>>
>> <http-conf:conduit name="http://.*">
>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
>> </http-conf:conduit>
>>
>> <http-conf:conduit name="http://foo.com/.*">
>> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
>> <http-conf:authorization>
>> <sec:UserName>xxx</sec:UserName>
>> <sec:Password>xxx</sec:Password>
>> </http-conf:authorization>
>> </http-conf:conduit>
>>
>
> Well , i think my problem is using a placeholder as
> http-conf:conduit's name property
> Cannot I use a placeholder as http-conf:conduit's name property ?
>
>
> Regards
>
>
>
>>
>> foo.com's proxy client takes the first configuration , not the more
>> restrictive .
>> That's weird for me . Shouldn't it be more more restrictive first ?
>>
>>
>> How I can configure global settings for all proxy clients and to set
>> individual parameters to one proxy client ?
>>
>> Thanks and regards
Re: http-conf:conduit : configure global settings for all proxy clients
Posted by Jose María Zaragoza <de...@gmail.com>.
2015-06-11 16:02 GMT+02:00 Jose María Zaragoza <de...@gmail.com>:
> Hello:
>
> I'm using CXF 2.7.8 to implement several webservice proxy clients (
> SOAP , REST )
>
> All of them have the same timeout parameters:
>
> <http-conf:conduit name="http://.*">
> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
> </http-conf:conduit>
>
> Now, one of them ( http://foo.com/ ) needs BASIC auth
>
>
> If I configure
>
> <http-conf:conduit name="http://.*">
> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
> </http-conf:conduit>
>
> <http-conf:conduit name="http://foo.com/.*">
> <http-conf:client ConnectionTimeout="5000" ReceiveTimeout="10000" />
> <http-conf:authorization>
> <sec:UserName>xxx</sec:UserName>
> <sec:Password>xxx</sec:Password>
> </http-conf:authorization>
> </http-conf:conduit>
>
Well , i think my problem is using a placeholder as
http-conf:conduit's name property
Cannot I use a placeholder as http-conf:conduit's name property ?
Regards
>
> foo.com's proxy client takes the first configuration , not the more
> restrictive .
> That's weird for me . Shouldn't it be more more restrictive first ?
>
>
> How I can configure global settings for all proxy clients and to set
> individual parameters to one proxy client ?
>
> Thanks and regards