Author: dkulp
Date: Tue Mar 26 19:53:53 2013
New Revision: 1461287

URL: http://svn.apache.org/r1461287
Log:
[CXF-4918] Try to detect a redirect (if enabled) and set the appropriate URL

Modified:
    
cxf/trunk/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java
    
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java

Modified: 
cxf/trunk/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java?rev=1461287&r1=1461286&r2=1461287&view=diff
==============================================================================
--- 
cxf/trunk/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java 
(original)
+++ 
cxf/trunk/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java 
Tue Mar 26 19:53:53 2013
@@ -129,9 +129,13 @@ public class TransportURIResolver extend
                     InputStream ins = exch.get(InputStream.class);
                     resourceOpened.addElement(ins);
                     InputSource src = new InputSource(ins);
-                    src.setPublicId(base.toString());
-                    src.setSystemId(base.toString());
-                    lastestImportUri = base.toString();
+                    String u = (String)message.get("http.retransmit.url");
+                    if (u == null) {
+                        u = base.toString();
+                    }
+                    src.setPublicId(u);
+                    src.setSystemId(u);
+                    lastestImportUri = u;
                     currentResolver.unresolve();
                     return src;
                 }

Modified: 
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=1461287&r1=1461286&r2=1461287&view=diff
==============================================================================
--- 
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
 (original)
+++ 
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
 Tue Mar 26 19:53:53 2013
@@ -1187,7 +1187,7 @@ public abstract class HTTPConduit 
         
         protected void retransmit(String newURL) throws IOException {
             setupNewConnection(newURL);
-            
+            outMessage.put("http.retransmit.url", newURL);
             if (cachedStream != null && cachedStream.size() < 
Integer.MAX_VALUE) {
                 setFixedLengthStreamingMode((int)cachedStream.size());
             }


Reply via email to