/// <summary> /// /// </summary> /// <param name="serverName"></param> public void ExecuteRequest() { var statusLog = _onlineSession.StatusLog; //Create a web request, in including the users logged-in auth information in the request headers var urlRequest = _onlineUrls.Url_SiteInfo(_onlineSession); var webRequest = CreateLoggedInWebRequest(urlRequest); webRequest.Method = "GET"; //Request the data from server _onlineSession.StatusLog.AddStatus("Web request: " + urlRequest, -10); var response = GetWebReponseLogErrors(webRequest, "get site info"); var xmlDoc = GetWebResponseAsXml(response); //Get all the workbook nodes var nsManager = XmlHelper.CreateTableauXmlNamespaceManager("iwsOnline"); var sites = xmlDoc.SelectNodes("//iwsOnline:site", nsManager); int numberSites = 0; foreach (XmlNode contentXml in sites) { try { numberSites++; var site = new SiteinfoSite(contentXml); _onlineSite = site; statusLog.AddStatus("Site info: " + site.Name + "/" + site.Id + "/" + site.State); } catch { AppDiagnostics.Assert(false, "Site parse error"); statusLog.AddError("Error parsing site: " + contentXml.InnerXml); } } //Sanity check if (numberSites > 1) { statusLog.AddError("Error - how did we get more than 1 site? " + numberSites.ToString() + " sites"); } }