When trying to create a XenDesktop group that is using ESX as the hosting infrastructure, the following error message appears:
"The hosting infrastructure could not be reached at the specified address."
CDSPoolManager log shows the following entry:
Citrix.PoolManagement.MachineManager.MachineManagementApi.HostingInfrastructureCommunicationsFailureException: Url invalid ---> System.Net.WebException: The request failed with the error message: -- <HTML><BODY><H1>301 Moved Permanently</H1></BODY></HTML> --. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at VimApi.VimService.RetrieveServiceContent(ManagedObjectReference _this) at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.VcServiceWrapper.Login(VmwareVmConnection connection, String url, String userName, String password) --- End of inner exception stack trace --- at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.VcServiceWrapper.Login(VmwareVmConnection connection, String url, String userName, String password) at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.VmwareVmConnection.LoginVc(String url, String userName, String password) at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.VmwareVmConnection.Connect(String url, String userName, String password) at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.ConnectionPool.MakeConnection(String login, String url, String password) at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.VmwareVmManager..ctor(String vmmServer, String userName, SecureString password)
The following are the two options to resolve the issue:
Enable http traffic to vSphere and ESX.
-Or-
Upload a new certificate to ESX and vSphere.
This article describes how to enable http. For information on how to add a new certificate, refer to the Replacing vCenter Server Certificates document.
According to VMware vSphere Web Services SDK 4.0 Developer’s Setup Guide, you must configure proxy.xml on vSphere and ESX.
Complete the following procedure to modify the Web proxy service on ESX to support HTTP:
Log on to the service console as the root user.
Change directories to /etc/vmware/hostd.
Use a text editor to open the proxy.xml file.
Navigate to the list of endpoints in the file (identified by the <EndpointList> tag) that contains settings for the Web service supporting the SDK. The nested tags might look like the following:
... <e id=”1”> <_type>vim.ProxyService.NamedPipeServiceSpec</_type> <accessMode>httpsWithRedirect</accessMode> <pipeName>/var/run/vmware/proxy-sdk</pipeName> <serverNamespace>/sdk</serverNamespace> </e> …
It must look like:
... <e id=”1”> <_type>vim.ProxyService.NamedPipeServiceSpec</_type> <accessMode>httpAndHttps</accessMode> <pipeName>/var/run/vmware/proxy-sdk</pipeName> <serverNamespace>/sdk</serverNamespace> </e> …
Save your settings and close the file.
Restart the vmware-hostd process by entering the following command:
service mgmt-vmware restart
Complete the following procedure to modify the Web proxy service on vCenter Server to support HTTP:
Log on to the vCenter Server system as the Windows Administrator of the machine.
Win2k8: C:\ProgramData\VMware\VMware VirtualCenter\proxy.xml
Win2k3: C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\proxy.xml
Use a text editor to open the proxy.xml file.
Find the sections of the file associated with “/” and “/sdk”.
Note: For XenDesktop 5.x, "/" is an additional requirement from XenDesktop 4 that will find provisioning desktops using MCS fail if they have not been changed.
Change the accessMode to httpAndHttps.
For example:
<config> <EndpointList> <_length>15</_length> <_type>vim.ProxyService.EndpointSpec[]</_type> <e id="0"> <_type>vim.ProxyService.NamedPipeServiceSpec</_type> <accessMode>httpAndHttps</accessMode> <pipeName>\\.\pipe\vmware-vpxd-webserver-pipe</pipeName> <serverNamespace>/</serverNamespace> </e> . . <e id="5"> <_type>vim.ProxyService.LocalServiceSpec</_type> <accessMode>httpAndHttps</accessMode> <port>8085</port> <serverNamespace>/sdk</serverNamespace> </e>
Restart the service from a command line or from the Windows Services control panel.
If you have the latest hotfixes for XenDesktop, then you can use the default https SSL certificate installed with vSphere by using the following procedure:
Complete the following procedure to use the VMware installed, self-signed certificate on vSphere:
Add the fully qualified domain name for the vSphere server to c:\windows\system32\drivers\etc\hosts if not present in DNS.
Using Internet Explorer - enter https://<FQDN of vSphere server.
Accept the security warnings.
Click the Certificate Error part of the address bar and select View Certificates.
Click Install Certificate > Next > Place all certificates in the following store > Browse > Show physical stores.
Expand Trusted People.
Select Local Computer.
Click OK > Next > Finish.
Alternatively, use Microsoft Management Console (MMC):
At the command prompt, type mmc, and press Enter key.
On the File menu, click Add/Remove Snap-in.
Highlight Certificates and click Add.
Select Computer account and click Next.
Select Local computer and click Finish.
Click OK close the Add/Remove Snap-in.
Expand Certificates.
Right-click Trusted People, select All Tasks > Import.
Click Next.
Locate the certificate and click Next.
When the wizard is completes, click Finish.
VMWare, vSphere, and the ESX host are configured to redirect http traffic to https by default. As the default certificate on ESX does not match the name of the server, it generates an error.
Replacing vCenter Server Certificates
VMware vSphere Web Services SDK 4.0 Developer’s Setup Guide