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);