Author: hiranya
Date: Tue Jul 30 03:13:35 2013
New Revision: 1508280

URL: http://svn.apache.org/r1508280
Log:
Supporting basic auth protected URLs for loading WSDLs and local entries - 
Applying patch for SYNAPSE-812

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java?rev=1508280&r1=1508279&r2=1508280&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
 Tue Jul 30 03:13:35 2013
@@ -184,7 +184,24 @@ public class SynapseConfigUtils {
             if (url == null) {
                 return null;
             }
-            URLConnection connection = getURLConnection(url);
+
+            URLConnection connection = null;
+            // If wsdl url contains http basic authentication parameters.
+            if (url.getUserInfo() != null) {
+                String protocol = url.getProtocol();
+                if ("http".equalsIgnoreCase(protocol) || 
"https".equalsIgnoreCase(protocol)) {
+                    // Create new url excluding user info
+                    URL newUrl = new URL(protocol, url.getHost(), 
url.getPort(), url.getFile());
+                    connection = getURLConnection(newUrl);
+                    String encoding = new String(new 
Base64().encode(url.getUserInfo().getBytes()));
+                    connection.setRequestProperty("Authorization", "Basic " + 
encoding);
+                } else {
+                    handleException("Unsupported protocol [" + protocol + "]. 
Supports only http " +
+                            "and https with basic authentication.");
+                }
+            } else {
+                connection = getURLConnection(url);
+            }
             if (connection == null) {
                 if (log.isDebugEnabled()) {
                     log.debug("Cannot create a URLConnection for given URL : " 
+ url);


Reply via email to