HA configuration sample using Csharp

Added by Vishal Ganeriwala , last edited by Vishal Ganeriwala on Apr 03, 2008  (view change)
Tags: 

HA configuration sample using Csharp

Summary

Code Snippet

using System;
using System.Runtime.Remoting;
using System.Xml.Serialization;
using System.Web.Services;
    
	namespace NSConfig {
		public class ClientService : NSConfigService

                {
                        private static string cookie = null;
                        /* override the getWebRequest to send cookie */
                        protected override System.Net.WebRequest  GetWebRequest(Uri uri)
                        {
                                System.Net.HttpWebRequest req = (System.Net.HttpWebRequest) base.GetWebRequest(uri);
                                if (cookie != null)
                                {
                                        req.Headers.Add("Set-Cookie", cookie);
                                }
                                return req;
                        }
                        /* override the getWebResponse to get the cookie */

                        protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest req)
                        {
                               System.Net.HttpWebResponse rep = (System.Net.HttpWebResponse) base.GetWebResponse(req);
                               if (rep.Headers["Set-Cookie"] != null)
                                {
                                       cookie = rep.Headers["Set-Cookie"];
                                }
                                return rep;
			}
                        public ClientService()
                        {
                                // Change the IP address pointing to netscaler.
                                this.Url = "http://10.102.4.111:18000";
                        }
                        public ClientService(string servername)
                        {
                                this.Url = "http://"+servername+"/soap";;
                        }
                }
	
	class ha 
	{
 		static ClientService client=null;
 
		[STAThread]
		static void Main(string[] args)
		{
			if ( args.Length < 3)
			{
				Console.WriteLine("Usage: getConfig <NS IP> username password");
				return;
			}
			string serverip = args[0];
			string username = args[1];
			string password = args[2];
			try {
          			Console.WriteLine("\nConnecting to server "+serverip+" ............\n");
				client = new ClientService(serverip);

				client.CookieContainer = new System.Net.CookieContainer();
				simpleResult result = client.login(username,password) ;
				Console.WriteLine("login : "+result.message);
       
				result = client.addhanode(1,"10.102.3.116",enabledisabledEnum.VALNOTSET);
				Console.WriteLine("addhanode	1 : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.STAYSECONDARY);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.STAYPRIMARY);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.DISABLED);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.ENABLED);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.forcehafailover();
				Console.WriteLine("forcehafailover	null : " + result.message);

				result = client.forcehasync();
				Console.WriteLine("forcehasync	null : " + result.message);

				result = client.sethanode_hasync(0xFFFFFFFF,enabledisabledEnum.DISABLED);
				Console.WriteLine("sethanode_hasync	null : " + result.message);

				result = client.sethanode_hasync(0xFFFFFFFF,enabledisabledEnum.ENABLED);
				Console.WriteLine("sethanode_hasync	null : " + result.message);

				result = client.sethanode_haprop(0xFFFFFFFF,enabledisabledEnum.DISABLED);
				Console.WriteLine("sethanode_haprop	null : " + result.message);

				result = client.sethanode_haprop(0xFFFFFFFF,enabledisabledEnum.ENABLED);
				Console.WriteLine("sethanode_haprop	null : " + result.message);

				result = client.addhanode(1,"10.102.3.116",enabledisabledEnum.ENABLED);
				Console.WriteLine("addhanode	1 : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.STAYSECONDARY);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.STAYPRIMARY);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.DISABLED);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.sethanode_hastatus(0xFFFFFFFF,hastatusEnum.ENABLED);
				Console.WriteLine("sethanode_hastatus	null : " + result.message);

				result = client.forcehafailover();
				Console.WriteLine("forcehafailover	null : " + result.message);

				result = client.forcehasync();
				Console.WriteLine("forcehasync	null : " + result.message);

				result = client.sethanode_hasync(0xFFFFFFFF,enabledisabledEnum.DISABLED);
				Console.WriteLine("sethanode_hasync	null : " + result.message);

				result = client.sethanode_hasync(0xFFFFFFFF,enabledisabledEnum.ENABLED);
				Console.WriteLine("sethanode_hasync	null : " + result.message);

				result = client.sethanode_haprop(0xFFFFFFFF,enabledisabledEnum.DISABLED);
				Console.WriteLine("sethanode_haprop	null : " + result.message);

				result = client.sethanode_haprop(0xFFFFFFFF,enabledisabledEnum.ENABLED);
				Console.WriteLine("sethanode_haprop	null : " + result.message);

				result = client.addfis("fi1");
				Console.WriteLine("addfis	fi1 : " + result.message);

				result = client.bindfis_ifnum("fi1","1/1,1/2");
				Console.WriteLine("bindfis_ifnum	fi1 : " + result.message);

				result = client.unbindfis_ifnum("fi1","1/2");
				Console.WriteLine("unbindfis_ifnum	fi1 : " + result.message);

				result = client.rmfis("fi1");
				Console.WriteLine("rmfis	fi1 : " + result.message);

				getfisResult  getfisresult1 = client.getfis(null);
				Console.WriteLine("getfis	null : " + getfisresult1.message);

				if ( (getfisresult1.List != null) && (getfisresult1.List.Length > 0)) {
					for(int i =0 ; i < getfisresult1.List.Length;i++) { 
						fis obj;
						obj = (fis) getfisresult1.List[i];
						Console.WriteLine( obj.name + "\t" + obj.ifaces + "\t" );
					}
				}

				getciResult  getciresult2 = client.getci();
				Console.WriteLine("getci	null : " + getciresult2.message);

				if ( (getciresult2.List != null) && (getciresult2.List.Length > 0)) {
					for(int i =0 ; i < getciresult2.List.Length;i++) { 
						ci obj;
						obj = (ci) getciresult2.List[i];
						Console.WriteLine( obj.ifaces + "\t" );
					}
				}

				result = client.logout();
				Console.WriteLine("logout : " + result.message); 
			}
			catch (Exception ex) {
			      Console.WriteLine( "Exception: "+ex.ToString());
			}
		}

	}
	}

More Information