[ 
https://issues.apache.org/jira/browse/CXF-7227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16353896#comment-16353896
 ] 

Sergey Beryozkin commented on CXF-7227:
---------------------------------------

Hi, can you please type how do you do these 2 consecutive calls with WebClient, 
1st to "https://host1/book/1/info"; and second to "https://host1/book/2/info"; ? 
Thanks

> AbstractClient set wrong base uri when recieves http 301 redirect status
> ------------------------------------------------------------------------
>
>                 Key: CXF-7227
>                 URL: https://issues.apache.org/jira/browse/CXF-7227
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.0.11
>            Reporter: xseiko
>            Priority: Major
>
> HTTPConduit processes all redirect statuses in redirectRetransmit function 
> like:
> String newURL = extractLocation(Headers.getSetProtocolHeaders(m));
> outMessage.put("transport.retransmit.url", newURL);
> retransmit(newURL);
> And then AbstractClient class use transport.retransmit.url in 
> completeExchange function to set new base uri:
> s = (String)exchange.getOutMessage().get("transport.retransmit.url");
> if (s != null && !state.getBaseURI().toString().equals(s)) {
>     calculateNewRequestURI(URI.create(s), getCurrentURI(), proxy);
>     return;
> }
> So when you send first request https://host1/book/1/info that return 301 
> Location: https://host2/book/1/info this request is redirected to 
> https://host2/book/1/info but AbstractClient set base uri 
> https://host2/book/1/info.
> And when you send second request https://host1/book/2/info it is redirected 
> to https://host2/book/1/info/book/2/info.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to