/// <summary> /// Method used to Delete the existing Image. /// </summary> /// <param name="imageName">Name of the Image.</param> /// <param name="imageLabel">Label of the Image.</param> public static void DeleteImage(string imageName, string imageLabel, string subscriptionID) { string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.UpdateDeleteVMImageUrl; Uri uri = new Uri(String.Format(uriFormat, subscriptionID, imageName)); DeleteImageRequest deleteImageRequest = new DeleteImageRequest(){ Label = imageLabel }; HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.DELETE.ToString(), deleteImageRequest); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); } } response.Close(); }
/// <summary> /// Method used to add the disk. /// </summary> /// <param name="diskRequestBody">AddDiskRequest object.</param> /// <returns>True/False</returns> public static bool AddImage(AddDiskRequest diskRequestBody) { bool result = false; XDocument responseBody = null; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.AddDisk; Uri uri = new Uri(String.Format(uriFormat, subscriberID)); HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), diskRequestBody); HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if (statusCode == HttpStatusCode.OK) result = true; if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); //System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ListVMDisksResponse)); //locat = (ListVMDisksResponse)serializer.Deserialize(reader); XElement element = responseBody.Element(message); } } return result; }
/// <summary> /// Method Use to Add Virual Machine Image. /// </summary> /// <param name="imageRequest">Imagerequest object</param> /// <returns>Bool</returns> public static bool AddImage(AddImageRequest imageRequest, string subscriptionID) { bool result= false; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.AddViewVMImageUrl; Uri uri = new Uri(String.Format(uriFormat, subscriptionID)); HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), imageRequest); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); } } response.Close(); if (response.StatusCode == HttpStatusCode.OK) result = true; return result; }
/// <summary> /// Method used to list of all the available disks. /// </summary> /// <returns>Table contain disks information.</returns> public static DataSet GetAvailableVMDisks() { string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.GetAvailableDisks; Uri uri = new Uri(String.Format(uriFormat, subscriberID)); HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.GET.ToString(), null); HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } ListVMDisksResponse disksResponse = null; HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0 && statusCode == HttpStatusCode.OK) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { //responseBody = XDocument.Load(reader); System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ListVMDisksResponse)); disksResponse = (ListVMDisksResponse)serializer.Deserialize(reader); } } DataSet dsDisks = CreateDisksInfoTable(); FillDataSet(dsDisks, disksResponse); return dsDisks; }
/// <summary> /// Method Use to List all the available images. /// </summary> public static DataTable ListImages(string subscriptionID) { string version = VMOperations.RoleVersionConstants.VER2012; ListImagesResponse imagesDescription = new ListImagesResponse(); string uriFormat = AzureFrameWork.Util.UrlConstants.AddViewVMImageUrl; Uri uri = new Uri(String.Format(uriFormat, subscriptionID)); HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.GET.ToString(), null); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } //HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0 && response.StatusCode == HttpStatusCode.OK) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { //responseBody = XDocument.Load(reader); System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ListImagesResponse)); imagesDescription = (ListImagesResponse)serializer.Deserialize(reader); } } response.Close(); DataTable dt = CreateImagesTable(); foreach (ListImagesResponse.OSImage image in imagesDescription.images) { DataRow row = dt.NewRow(); //row["AffinityGroup"] = image.AffinityGroup; row[Constants.FieldNameConstants.Category] = image.Category; //row["Location"] = image.Location; row[Constants.FieldNameConstants.LogicalSizeInGB] = image.Size; row[Constants.FieldNameConstants.Label] = image.Label; row[Constants.FieldNameConstants.Description] = image.Description; row[Constants.FieldNameConstants.AssociatedVHD] = image.Name; row[Constants.FieldNameConstants.OS] = image.OSName; dt.Rows.Add(row); } return dt; }
/// <summary> /// Method Use to Add Virual Machine Image. /// </summary> /// <param name="imageLabel">Label of the Image.</param> /// <param name="mediaLink">VHD Link.</param> /// <param name="imageName">Name of the Image.</param> /// <param name="osName">Operating Sysytem Name.</param> public static void UpdateImage(string imageName, string imageLabel, string mediaLink, string osName, string subscriptionID) { string version = ""; string uriFormat = AzureFrameWork.Util.UrlConstants.UpdateDeleteVMImageUrl; Uri uri = new Uri(String.Format(uriFormat, subscriptionID)); AddImageRequest imageRequest = new AddImageRequest() { Label = imageLabel, MediaLink = mediaLink, Name = imageName, OSName = osName }; HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.PUT.ToString(), imageRequest); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if(statusCode == HttpStatusCode.OK) //TODO:Need to add the code if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); } } response.Close(); }
/// <summary> /// Method use to Start the VM Role. /// </summary> /// <param name="serviceName">Name of the Service.</param> /// <param name="deploymentName">Deployment Name.</param> /// <param name="roleName">Role Name.</param> /// <returns>True/False</returns> public static bool StartVMRole(string serviceName, string deploymentName, string roleName) { bool result = false; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.StartStopVMRole; //Uri uri = new Uri(String.Format(uriFormat, subscriberID, serviceName, deploymentName, roleName)); Uri uri = new Uri(String.Format(uriFormat, subscriberID, "autovm", "autovm13sep", roleName)); StartRoleRequest startRoleRequest = new StartRoleRequest() { OperationType = "StartRoleOperation" }; HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), startRoleRequest); HttpWebResponse response = null; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.Accepted) result = true; } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { XDocument responseBody = XDocument.Load(reader); } } response.Close(); return result; }
/// <summary> /// Method used to reimage the role. /// </summary> /// <param name="serviceName">Name of the service.</param> /// <param name="deploymentSlot">Name of Deployment Slot.</param> /// <param name="roleName">Name of the Role.</param> /// <returns>bool</returns> public static bool ReImageRole(string serviceName, string deploymentSlot, string roleName) { bool result = false; string version = VMOperations.RoleVersionConstants.VER2010; string uriFormat = AzureFrameWork.Util.UrlConstants.ReImageRole; Uri uri = new Uri(String.Format(uriFormat, subscriberID, serviceName, deploymentSlot.ToLower(), roleName)); try { HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), null); request.ContentLength = 0; XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); } } else { //TODO: Need to write the logic } response.Close(); } catch (WebException ex) { throw ex.InnerException; } finally { } return result; }
/// <summary> /// Method used to get the details of the existing Role. /// </summary> /// <param name="serviceName">Name of the Service.</param> /// <param name="deploymentName">Deployment Name.</param> /// <param name="roleName">Role Name.</param> /// <returns>True/False</returns> public static RoleResponse GetVMRole(string serviceName, string deploymentName, string roleName) { RoleResponse roleResponse = null; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.GetVMRole; Uri uri = new Uri(String.Format(uriFormat, subscriberID, serviceName, deploymentName, roleName)); try { HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.GET.ToString(), null); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } if (response.ContentLength > 0 && response.StatusCode == HttpStatusCode.OK) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { //responseBody = XDocument.Load(reader); System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(RoleResponse)); roleResponse = (RoleResponse)serializer.Deserialize(reader); } } else { //TODO: Need to write the logic } response.Close(); } catch (WebException ex) { throw ex.InnerException; } finally{} return roleResponse; }
/// <summary> /// Method use to Download the VM Role Instance Rdp file. /// </summary> /// <param name="serviceName">Name of the Service.</param> /// <param name="deploymentName">Deployment Name.</param> /// <param name="roleInstanceName">Role Instance Name.</param> /// <returns>True/False</returns> public static bool DownloadVMRdpFile(string serviceName, string deploymentName, string roleInstanceName) { bool result = false; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.DownloadRdpFile; Uri uri = new Uri(String.Format(uriFormat, subscriberID, serviceName, deploymentName, roleInstanceName)); HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.GET.ToString(), null); HttpWebResponse response = null; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) result = true; } catch (WebException ex) { throw ex.InnerException; } finally { response.Close(); } return result; }
/// <summary> /// Method used to create the Deployment for the Virtual Machine. /// </summary> /// <param name="requestObject">Windows Request Object</param> /// <param name="serviceName">Name of the Service.</param> public static bool CreateVMDeployment(WinVMDeploymentRequest requestObject, string serviceName) { bool result = false; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.CreateVMDeployment; Uri uri = new Uri(String.Format(uriFormat, subscriberID, serviceName)); try { string requestObj = @"<Deployment xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.microsoft.com/windowsazure""> <Name>test1stdep</Name> <Label>test1strole</Label> <DeploymentSlot>Production</DeploymentSlot> <RoleList> <Role> <RoleName>test1strole</RoleName> <RoleType>PersistentVMRole</RoleType> <ConfigurationSets> <ConfigurationSet> <ConfigurationSetType>WindowsProvisioningConfiguration</ConfigurationSetType> <ComputerName>Administrator</ComputerName> <AdminPassword>Tm1lZGlhMTAh</AdminPassword> <StoredCertificateSettings> <CertificateSetting> <StoreLocation>LocalMachine</StoreLocation> <StoreName>My</StoreName> <Thumbprint>275FE85811F5C40D33B395AC225BFDEBA0CBD7BA</Thumbprint> </CertificateSetting> </StoredCertificateSettings> </ConfigurationSet> <ConfigurationSet> <ConfigurationSetType>NetworkConfiguration</ConfigurationSetType> <InputEndpoints> <InputEndpoint> <LocalPort>8080</LocalPort> <Name>AzureService</Name> <Port>8080</Port> <Protocol>TCP</Protocol> </InputEndpoint> </InputEndpoints> </ConfigurationSet> </ConfigurationSets> <OSVirtualHardDisk> <SourceImageName>testimage11sep</SourceImageName> </OSVirtualHardDisk> <RoleSize>ExtraSmall</RoleSize> </Role> </RoleList> <VirtualNetworkName>minevnetwork</VirtualNetworkName> </Deployment>"; HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), requestObj); //requestObject); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); } } response.Close(); if (response.StatusCode == HttpStatusCode.Created) { result = true; } else { //TODO: Need to write the logic } } catch (WebException ex) { throw ex.InnerException; } finally { } return result; }
public static bool AddRole(string serviceName, string deploymentName, AddRoleRequest requestObject) { bool result = false; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.AddRole; //Uri uri = new Uri(String.Format(uriFormat, subscriberID, "testvmdns", "testvmsep12")); Uri uri = new Uri(String.Format(uriFormat, subscriberID, serviceName, deploymentName)); string requestObject1 = @"<PersistentVMRole xmlns=""http://schemas.microsoft.com/windowsazure"" xmlns:i=""http://www.w3.org/2001/XMLSchema-instance""> <RoleName>test1strole</RoleName> <RoleType>PersistentVMRole</RoleType> <ConfigurationSets> <ConfigurationSet> <ConfigurationSetType>WindowsProvisioningConfiguration</ConfigurationSetType> <ComputerName>mytestcomputer</ComputerName> <AdminPassword>CloudTeam1</AdminPassword> <ResetPasswordOnFirstLogon>false</ResetPasswordOnFirstLogon> <EnableAutomaticUpdates>true</EnableAutomaticUpdates> <TimeZone>Pacific Standard Time</TimeZone> <DomainJoin> <Credentials> <Domain>cloudapp.net</Domain> <Username>testuser</Username> <Password>testpassword</Password> </Credentials> <JoinDomain>NULL</JoinDomain> <MachineObjectOU>MyOu</MachineObjectOU> </DomainJoin> <StoredCertificateSettings> <CertificateSetting> <StoreLocation>LocalMachine</StoreLocation> <StoreName>My</StoreName> <Thumbprint>275FE85811F5C40D33B395AC225BFDEBA0CBD7BA</Thumbprint> </CertificateSetting> </StoredCertificateSettings> </ConfigurationSet> </ConfigurationSets> <AvailabilitySetName>NULL</AvailabilitySetName> <DataVirtualHardDisks/> <OSVirtualHardDisk> <HostCaching>ReadOnly</HostCaching> <DiskLabel/> <DiskName>mydisk</DiskName> <MediaLink></MediaLink> <SourceImageName>MSFT__Win2K8R2SP1-Datacenter-201208.01-en.us-30GB.vhd</SourceImageName> </OSVirtualHardDisk> <RoleSize>ExtraSmall</RoleSize> </PersistentVMRole>"; //string requestObject1 = Util.CreateXml(requestObject); try { HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), requestObject1); //HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), requestObject); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); //request.BeginGetResponse(new AsyncCallback(FinishWebrequest), request); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); } } response.Close(); if (response.StatusCode == HttpStatusCode.Created) { result = true; } else { //TODO: Need to write the logic // Checking the conflict option in git } } catch (WebException ex) { throw ex.InnerException; } finally { } return result; }
/// <summary> /// Method used to create the Deployment for the Virtual Machine. /// </summary> /// <param name="requestObject">Windows Request Object</param> /// <param name="serviceName">Name of the Service.</param> public static bool CaptureVMRole(string serviceName) { bool result = false; string version = VMOperations.RoleVersionConstants.VER2012; string uriFormat = AzureFrameWork.Util.UrlConstants.CaptureRole; Uri uri = new Uri(String.Format(uriFormat, subscriberID, "autovm", "autovm13sep", "autovm13sep")); string requestObject = @"<CaptureRoleOperation xmlns=""http://schemas.microsoft.com/windowsazure"" xmlns:i=""http://www.w3.org/2001/XMLSchema-instance""> <OperationType>CaptureRoleOperation</OperationType> <PostCaptureAction>Reprovision</PostCaptureAction> <ProvisioningConfiguration> <ConfigurationSetType>WindowsProvisioningConfiguration<ConfigurationSetType> <ComputerName>capturename</ComputerName> <AdminPassword>admin123</AdminPassword> <ResetPasswordOnFirstLogon>false</ResetPasswordOnFirstLogon > <EnableAutomaticUpdate>false</EnableAutomationUpdate> <TimeZone>Pacific Standard Time</TimeZone> <DomainJoin> <Credentials> <Domain>domain-to-join</Domain> <Username>user-name-in-the-domain</Username> <Password>password-for-the-user-name</Password> </Credentials> <JoinDomain>domain-to-join</JoinDomain> <MachineObjectOU>distinguished-name-of-the-ou<MachineObjectOU> </DomainJoin> <StoredCertificateSettings> <CertificateSetting> <StoreLocation>LocalMachine</StoreLocation> <StoreName>My</StoreName> <Thumbprint>275fe85811f5c40d33b395ac225bfdeba0cbd7ba</Thumbprint> </CertificateSetting> </StoredCertificateSettings> </ProvisioningConfiguration> <TargetImageLabel>captureimage1</TargetImageLabel> <TargetImageName>captureimage1</TargetImageName> </CaptureRoleOperation>"; try { HttpWebRequest request = AzureFrameWork.Util.CreateWebRequest(uri, version, APIVersions.MethodType.POST.ToString(), requestObject); XDocument responseBody = null; HttpWebResponse response; TrustAllCert trust = new TrustAllCert(); ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(trust.OnValidationCallback); try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // GetResponse throws a WebException for 400 and 500 status codes response = (HttpWebResponse)ex.Response; } HttpStatusCode statusCode = response.StatusCode; if (response.ContentLength > 0) { using (XmlReader reader = XmlReader.Create(response.GetResponseStream())) { responseBody = XDocument.Load(reader); } } response.Close(); if (response.StatusCode == HttpStatusCode.Created) { result = true; } else { //TODO: Need to write the logic } } catch (WebException ex) { throw ex.InnerException; } finally { } return result; }