diff -Nru openjdk.orig/jaxws/build.properties openjdk/jaxws/build.properties
--- openjdk.orig/jaxws/build.properties	2011-05-23 22:48:31.989289627 +0100
+++ openjdk/jaxws/build.properties	2011-05-23 22:49:09.841901697 +0100
@@ -77,6 +77,9 @@
 # Where patches to drop bundle sources live
 patches.dir=patches
 
+# Patches to apply
+jaxws_src.patch.list=7013971.patch
+
 # Sanity information
 sanity.info= Sanity Settings:${line.separator}\
   ant.home=${ant.home}${line.separator}\
diff -Nru openjdk.orig/jaxws/patches/jaxws_src/7013971.patch openjdk/jaxws/patches/jaxws_src/7013971.patch
--- openjdk.orig/jaxws/patches/jaxws_src/7013971.patch	1970-01-01 01:00:00.000000000 +0100
+++ openjdk/jaxws/patches/jaxws_src/7013971.patch	2011-05-23 22:50:07.414832540 +0100
@@ -0,0 +1,117 @@
+--- src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Tue Jul 21 14:54:59 2009 -0700
++++ src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Mon Feb 14 09:09:00 2011 +0530
+@@ -72,16 +72,11 @@ public class HttpSOAPConnection extends 
+         Logger.getLogger(LogDomainConstants.HTTP_CONN_DOMAIN,
+                          "com.sun.xml.internal.messaging.saaj.client.p2p.LocalStrings");
+ 
+-    private static final String defaultProxyHost = null;
+-    private static final int defaultProxyPort = -1;
+-
+     MessageFactory messageFactory = null;
+ 
+     boolean closed = false;
+ 
+     public HttpSOAPConnection() throws SOAPException {
+-        proxyHost = defaultProxyHost;
+-        proxyPort = defaultProxyPort;
+ 
+         try {
+             messageFactory = MessageFactory.newInstance(SOAPConstants.DYNAMIC_SOAP_PROTOCOL);
+@@ -157,11 +152,7 @@ public class HttpSOAPConnection extends 
+ 
+         if (endPoint instanceof URL)
+             try {
+-                PriviledgedPost pp =
+-                    new PriviledgedPost(this, message, (URL) endPoint);
+-                SOAPMessage response =
+-                    (SOAPMessage) AccessController.doPrivileged(pp);
+-
++                SOAPMessage response = post(message, (URL) endPoint);
+                 return response;
+             } catch (Exception ex) {
+                 // TBD -- chaining?
+@@ -170,73 +161,6 @@ public class HttpSOAPConnection extends 
+             log.severe("SAAJ0007.p2p.bad.endPoint.type");
+             throw new SOAPExceptionImpl("Bad endPoint type " + endPoint);
+         }
+-    }
+-
+-    static class PriviledgedPost implements PrivilegedExceptionAction {
+-
+-        HttpSOAPConnection c;
+-        SOAPMessage message;
+-        URL endPoint;
+-
+-        PriviledgedPost(
+-            HttpSOAPConnection c,
+-            SOAPMessage message,
+-            URL endPoint) {
+-            this.c = c;
+-            this.message = message;
+-            this.endPoint = endPoint;
+-        }
+-
+-        public Object run() throws Exception {
+-            return c.post(message, endPoint);
+-        }
+-    }
+-
+-    // TBD
+-    //    Fix this to do things better.
+-
+-    private String proxyHost = null;
+-
+-    static class PriviledgedSetProxyAction implements PrivilegedExceptionAction {
+-                                                                                                                                             
+-        String proxyHost = null;
+-        int proxyPort = 0;
+-
+-        PriviledgedSetProxyAction(String host, int port) {
+-            this.proxyHost = host;
+-            this.proxyPort = port;
+-        }
+-                                                                                                                                             
+-        public Object run() throws Exception {
+-            System.setProperty("http.proxyHost", proxyHost);
+-            System.setProperty("http.proxyPort", new Integer(proxyPort).toString());
+-            log.log(Level.FINE, "SAAJ0050.p2p.proxy.host", 
+-                    new String[] { proxyHost });
+-            log.log(Level.FINE, "SAAJ0051.p2p.proxy.port",
+-                    new String[] { new Integer(proxyPort).toString() });
+-            return proxyHost;
+-        }
+-    }
+-
+-
+-    public void setProxy(String host, int port) {
+-        try {
+-            proxyPort = port;
+-            PriviledgedSetProxyAction ps = new PriviledgedSetProxyAction(host, port); 
+-            proxyHost = (String) AccessController.doPrivileged(ps);
+-        } catch (Exception e) {
+-            throw new RuntimeException(e);
+-        }
+-    }
+-    
+-    public String getProxyHost() {
+-        return proxyHost;
+-    }
+-
+-    private int proxyPort = -1;
+-
+-    public int getProxyPort() {
+-        return proxyPort;
+     }
+ 
+     SOAPMessage post(SOAPMessage message, URL endPoint) throws SOAPException {
+--- src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Mon Feb 14 09:09:00 2011 +0530
++++ src/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Wed Feb 16 00:11:00 2011 +0530
+@@ -201,7 +201,7 @@ public class HttpSOAPConnection extends 
+             httpConnection.setDoOutput(true);
+             httpConnection.setDoInput(true);
+             httpConnection.setUseCaches(false);
+-            HttpURLConnection.setFollowRedirects(true);
++            httpConnection.setInstanceFollowRedirects(true);
+ 
+             if (message.saveRequired())
+                 message.saveChanges();
