Hi Sergey,

That sounds good. What would you recommend in teh meantime? Could I use
interceptors that check if the location is changed?

Marco


2013/9/30 Sergey Beryozkin <[email protected]>

> Hi Marco
>
> On 30/09/13 13:31, Marco Mans wrote:
>
>> Hi Sergey!
>>
>> Thanks for the quick response! I just tried with the 2.7.8-SNAPSHOT
>> version.
>> Relative redirection is working now!
>>
>>  Thanks for confirming it
>
>  I noticed that a second call, with the same client is done to the 'old'
>> location.
>> The redirection adds a session-id to the url. So it is important to keep
>> this id in the URL.
>> Is there a setting that enables this?
>>
>>  I think it is a general issue with auto-redirects is that a new Location
> is not set as the current client's request URI/endpoint address.
> As far as I recall, a load balancing feature has the same draw-back, as
> opposed to a fail-over feature.
>
> I'm thinking of introducing an interface, say, TransportCallback. The
> frontend clients will set it internally and HttpConduit or other code which
> auto-updates the request address will call back on TransportCallback if it
> is available - this will let the clients update the current request URI as
> needed per the rules of a given frontend.
> Introducing events may be another option but I wonder if it can have some
> thread-safety issues...
>
> Something like that
>
> Sergey
>
>
>  Greetz,
>> Marco
>>
>>
>>
>> 2013/9/26 Sergey Beryozkin <[email protected]>
>>
>>  I replaced the manual resolution code I added originally with URI resolve
>>> call - that should fix the issue; also add a new
>>> "max.http.redirect.count"
>>> property - can be used to prevent the client from spinning...
>>>
>>> Cheers, Sergey
>>>
>>>
>>> On 26/09/13 15:38, Sergey Beryozkin wrote:
>>>
>>>  Hi
>>>>
>>>> Yes, I can see it does not resolve it correctly, I have a test but a bit
>>>> more work is needed. I'll update you when I'm done
>>>>
>>>> Sergey
>>>>
>>>> On 26/09/13 15:01, Marco Mans wrote:
>>>>
>>>>  Hi Folks!
>>>>>
>>>>> I have some problems with a webservice that uses a relative redirect.
>>>>> This is what is happening:
>>>>> 1. I send a request to 
>>>>> http://mydomain.com/****webservice.asmx<http://mydomain.com/**webservice.asmx>
>>>>> <http://**mydomain.com/webservice.asmx<http://mydomain.com/webservice.asmx>
>>>>> >
>>>>>
>>>>> 2. The webservice answers with a HTTP 302 and sets the location to
>>>>> /(12323123312)/webservice.asmx
>>>>> 3. CXF autmatically redirects and send a second request to
>>>>> http://mydomain.com/****webservice.asmx/(12323123312)/**
>>>>> **webservice.asmx<http://mydomain.com/**webservice.asmx/(12323123312)/**webservice.asmx>
>>>>> <http://**mydomain.com/webservice.asmx/(**12323123312)/webservice.asmx<http://mydomain.com/webservice.asmx/(12323123312)/webservice.asmx>
>>>>> >
>>>>>
>>>>>
>>>>> Instead of replacing the root of my path it simply adds the relative
>>>>> redirection at the end of the original request.
>>>>>
>>>>> This code I use to enable autoredirection:
>>>>> <snippet>
>>>>> JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
>>>>> factory.setServiceClass(****MyWebServiceSoap.class);
>>>>> factory.setAddress("http://**m**ydomain.com/webservice.asmx<http://mydomain.com/webservice.asmx>
>>>>> <ht**tp://mydomain.com/webservice.**asmx<http://mydomain.com/webservice.asmx>
>>>>> >
>>>>> ")**;
>>>>> service = (GensysWebServiceSoap) factory.create();
>>>>>
>>>>> Client client = ClientProxy.getClient(service)****;
>>>>> ((HTTPConduit) (client.getConduit())).****
>>>>> getClient().setAutoRedirect(**
>>>>> true);
>>>>> client.getBus().getProperties(****).put("http.redirect.**
>>>>> relative.**uri",
>>>>>
>>>>> true);
>>>>> </snippet>
>>>>>
>>>>> Does anyone knows how to fix this?
>>>>>
>>>>> Thanks in advance!!!
>>>>>
>>>>> Greetz,
>>>>> Marco Mans
>>>>>
>>>>>
>>>>>
>>>>
>>> --
>>> Sergey Beryozkin
>>>
>>> Talend Community Coders
>>> http://coders.talend.com/
>>>
>>> Blog: http://sberyozkin.blogspot.com
>>>
>>>
>>
>

Reply via email to