Index: C:/Dokumente und Einstellungen/Koch/Eigene Dateien/koch/opt/eclipse/workspace_p/httpclient_trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultRedirectHandler.java =================================================================== --- C:/Dokumente und Einstellungen/Koch/Eigene Dateien/koch/opt/eclipse/workspace_p/httpclient_trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultRedirectHandler.java (revision 630775) +++ C:/Dokumente und Einstellungen/Koch/Eigene Dateien/koch/opt/eclipse/workspace_p/httpclient_trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultRedirectHandler.java (working copy) @@ -138,7 +138,7 @@ try { URI requestURI = new URI(request.getRequestLine().getUri()); URI absoluteRequestURI = URLUtils.rewriteURI(requestURI, target, true); - uri = absoluteRequestURI.resolve(uri); + uri = URLUtils.resolve(absoluteRequestURI, uri); } catch (URISyntaxException ex) { throw new ProtocolException(ex.getMessage(), ex); } Index: C:/Dokumente und Einstellungen/Koch/Eigene Dateien/koch/opt/eclipse/workspace_p/httpclient_trunk/module-client/src/main/java/org/apache/http/client/utils/URLUtils.java =================================================================== --- C:/Dokumente und Einstellungen/Koch/Eigene Dateien/koch/opt/eclipse/workspace_p/httpclient_trunk/module-client/src/main/java/org/apache/http/client/utils/URLUtils.java (revision 630775) +++ C:/Dokumente und Einstellungen/Koch/Eigene Dateien/koch/opt/eclipse/workspace_p/httpclient_trunk/module-client/src/main/java/org/apache/http/client/utils/URLUtils.java (working copy) @@ -195,6 +195,45 @@ } /** + * Resolves a URI reference aginast a base URI. Work-around for bug in + * java.net.URI () + * + * @param baseURI the base URI + * @param reference the URI reference + * @return the resulting URI + */ + public static URI resolve(URI baseURI, String reference) + { + return URLUtils.resolve(baseURI, URI.create(reference)); + } + + /** + * Resolves a URI reference aginast a base URI. Work-around for bug in + * java.net.URI () + * + * @param baseURI the base URI + * @param reference the URI reference + * @return the resulting URI + */ + public static URI resolve(URI baseURI, URI reference) + { + boolean emptyReference = "".equals(reference.toString()); + if (emptyReference) + { + reference = URI.create("#"); + } + URI resolved = baseURI.resolve(reference); + if (emptyReference) + { + String resolvedString = resolved.toString(); + resolved = URI.create(resolvedString.substring(0, + resolvedString.indexOf('#'))); + } + return resolved; + } + + + /** * This class should not be instantiated. */ private URLUtils() {