diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContext.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContext.java index 14c8667cbd6..0c7487cfab7 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContext.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareContext.java @@ -16,29 +16,6 @@ // under the License. package com.cloud.hypervisor.vmware.util; -import com.cloud.hypervisor.vmware.mo.DatacenterMO; -import com.cloud.hypervisor.vmware.mo.DatastoreFile; -import com.cloud.utils.ActionDelegate; -import com.cloud.utils.StringUtils; -import com.vmware.pbm.PbmPortType; -import com.vmware.pbm.PbmServiceInstanceContent; -import com.vmware.vim25.ManagedObjectReference; -import com.vmware.vim25.ObjectContent; -import com.vmware.vim25.ObjectSpec; -import com.vmware.vim25.PropertyFilterSpec; -import com.vmware.vim25.PropertySpec; -import com.vmware.vim25.ServiceContent; -import com.vmware.vim25.TaskInfo; -import com.vmware.vim25.TraversalSpec; -import com.vmware.vim25.VimPortType; -import org.apache.cloudstack.utils.security.SSLUtils; -import org.apache.cloudstack.utils.security.SecureSSLSocketFactory; -import org.apache.log4j.Logger; - -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.HttpsURLConnection; -import javax.net.ssl.SSLSession; -import javax.xml.ws.soap.SOAPFaultException; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; @@ -59,6 +36,31 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLSession; +import javax.xml.ws.soap.SOAPFaultException; + +import org.apache.cloudstack.utils.security.SSLUtils; +import org.apache.cloudstack.utils.security.SecureSSLSocketFactory; +import org.apache.log4j.Logger; + +import com.cloud.hypervisor.vmware.mo.DatacenterMO; +import com.cloud.hypervisor.vmware.mo.DatastoreFile; +import com.cloud.utils.ActionDelegate; +import com.cloud.utils.StringUtils; +import com.vmware.pbm.PbmPortType; +import com.vmware.pbm.PbmServiceInstanceContent; +import com.vmware.vim25.ManagedObjectReference; +import com.vmware.vim25.ObjectContent; +import com.vmware.vim25.ObjectSpec; +import com.vmware.vim25.PropertyFilterSpec; +import com.vmware.vim25.PropertySpec; +import com.vmware.vim25.ServiceContent; +import com.vmware.vim25.TaskInfo; +import com.vmware.vim25.TraversalSpec; +import com.vmware.vim25.VimPortType; + public class VmwareContext { private static final Logger s_logger = Logger.getLogger(VmwareContext.class); @@ -631,12 +633,12 @@ public class VmwareContext { sb.append("https://"); sb.append(_serverAddress); sb.append("/folder/"); - sb.append(relativePath); try { + sb.append(URLEncoder.encode(relativePath, "UTF-8")); sb.append("?dcPath=").append(URLEncoder.encode(dcName, "UTF-8")); sb.append("&dsName=").append(URLEncoder.encode(datastoreName, "UTF-8")); } catch (UnsupportedEncodingException e) { - s_logger.error("Unable to encode URL. dcPath : " + dcName + ", dsName :" + datastoreName, e); + s_logger.error(String.format("Unable to encode URL. relativePath : %s, dcPath : %s, dsName : %s", relativePath, dcName, datastoreName), e); } return sb.toString(); }