Content Switching configuration using CSharp .Net

Added by Vishal Ganeriwala , last edited by Vishal Ganeriwala on May 16, 2008
Tags: 

Content Switching configuration using CSharp .Net

Summary

Examples for enable global lb,create servers & services,Create vservers,Bind vservers to services,Support for compound expression and more...

Download

Download file

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 csw 
	{
 		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.enablensfeature(featureEnum.LB);
				Console.WriteLine("enablensfeature	LB : " + result.message);

				result = client.enablensfeature(featureEnum.CS);
				Console.WriteLine("enablensfeature	CS : " + result.message);

				result = client.addserver("s1","10.102.3.91",null,enabledisabledEnum.VALNOTSET);
				Console.WriteLine("addserver	s1 : " + result.message);

				result = client.addserver("s2","10.102.3.92",null,enabledisabledEnum.VALNOTSET);
				Console.WriteLine("addserver	s2 : " + result.message);

				result = client.addserver("s3","10.102.3.93",null,enabledisabledEnum.VALNOTSET);
				Console.WriteLine("addserver	s3 : " + result.message);

				result = client.addservice("srv1",null,"s1",servicetypeEnum.HTTP,80,0xFFFFFFFF,cachtypeEnum.VALNOTSET,enabledisabledEnum.VALNOTSET);
				Console.WriteLine("addservice	srv1 : " + result.message);

				result = client.addservice("srv2",null,"s2",servicetypeEnum.HTTP,80,0xFFFFFFFF,cachtypeEnum.VALNOTSET,enabledisabledEnum.VALNOTSET);
				Console.WriteLine("addservice	srv2 : " + result.message);

				result = client.addservice("srv3",null,"s3",servicetypeEnum.HTTP,80,0xFFFFFFFF,cachtypeEnum.VALNOTSET,enabledisabledEnum.VALNOTSET);
				Console.WriteLine("addservice	srv3 : " + result.message);

				getserverResult  getserverresult1 = client.getserver(null,false);
				Console.WriteLine("getserver	null : " + getserverresult1.message);

				if ( (getserverresult1.List != null) && (getserverresult1.List.Length > 0)) {
					for(int i =0 ; i < getserverresult1.List.Length;i++) { 
						server obj;
						obj = (server) getserverresult1.List[i];
						Console.WriteLine( obj.name + "\t" + obj.internaL + "\t" + obj.ipaddress + "\t" + obj.state + "\t" + obj.domain + "\t" + obj.domainresolveretry + "\t" + obj.servicename + "\t" + obj.servicegroupname + "\t" );
					}
				}

				getserviceResult  getserviceresult2 = client.getservice(null,false,false);
				Console.WriteLine("getservice	null : " + getserviceresult2.message);

				if ( (getserviceresult2.List != null) && (getserviceresult2.List.Length > 0)) {
					for(int i =0 ; i < getserviceresult2.List.Length;i++) { 
						service obj;
						obj = (service) getserviceresult2.List[i];
						Console.WriteLine( obj.name + "\t" + obj.all + "\t" + obj.internaL + "\t" + obj.servername + "\t" + obj.servicetype + "\t" + obj.serviceconftpye + "\t" + obj.port + "\t" + obj.value + "\t" + obj.cleartextport + "\t" + obj.gslb + "\t" + obj.cachetype + "\t" + obj.maxclient + "\t" + obj.maxreq + "\t" + obj.cacheable + "\t" + obj.cip + "\t" + obj.cipheader + "\t" + obj.usip + "\t" + obj.sc + "\t" + obj.weight + "\t" + obj.sp + "\t" + obj.failedprobes + "\t" + obj.clttimeout + "\t" + obj.totalprobes + "\t" + obj.svrtimeout + "\t" + obj.totalfailedprobes + "\t" + obj.serverid + "\t" + obj.cka + "\t" + obj.tcpb + "\t" + obj.cmp + "\t" + obj.maxbandwidth + "\t" + obj.accessdown + "\t" + obj.svrstate + "\t" + obj.ipaddress + "\t" + obj.monitorname + "\t" + obj.monthreshold + "\t" + obj.monstate + "\t" + obj.monstatcode + "\t" + obj.responsetime + "\t" + obj.downstateflush + "\t" + obj.statechangetimesec + "\t" + obj.statechangetimemsec + "\t" + obj.timesincelaststatechange + "\t" + obj.tickssincelaststatechange + "\t" + obj.scpolicyname + "\t" + obj.dospolicyname + "\t" );
					}
				}

				result = client.addlbvserver("lbvip1",vservicetypeEnum.HTTP,null,0xFFFFFFFF,0xFFFFFFFF,enabledisabledEnum.VALNOTSET,null);
				Console.WriteLine("addlbvserver	lbvip1 : " + result.message);

				result = client.addlbvserver("lbvip2",vservicetypeEnum.HTTP,null,0xFFFFFFFF,0xFFFFFFFF,enabledisabledEnum.VALNOTSET,null);
				Console.WriteLine("addlbvserver	lbvip2 : " + result.message);

				result = client.addlbvserver("lbvip3",vservicetypeEnum.HTTP,null,0xFFFFFFFF,0xFFFFFFFF,enabledisabledEnum.VALNOTSET,null);
				Console.WriteLine("addlbvserver	lbvip3 : " + result.message);

				result = client.bindlbvserver_service("lbvip1","srv1",0xFFFFFFFF);
				Console.WriteLine("bindlbvserver_service	lbvip1 : " + result.message);

				result = client.bindlbvserver_service("lbvip2","srv2",0xFFFFFFFF);
				Console.WriteLine("bindlbvserver_service	lbvip2 : " + result.message);

				result = client.bindlbvserver_service("lbvip3","srv3",0xFFFFFFFF);
				Console.WriteLine("bindlbvserver_service	lbvip3 : " + result.message);

				getlbvserverResult  getlbvserverresult3 = client.getlbvserver(null);
				Console.WriteLine("getlbvserver	null : " + getlbvserverresult3.message);

				if ( (getlbvserverresult3.List != null) && (getlbvserverresult3.List.Length > 0)) {
					for(int i =0 ; i < getlbvserverresult3.List.Length;i++) { 
						lbvserver obj;
						obj = (lbvserver) getlbvserverresult3.List[i];
						Console.WriteLine( obj.name + "\t" + obj.insertvserveripport + "\t" + obj.vipheader + "\t" + obj.value + "\t" + obj.ipaddress + "\t" + obj.ipmapping + "\t" + obj.port + "\t" + obj.range + "\t" + obj.servicetype + "\t" + obj.type + "\t" + obj.state + "\t" + obj.effectivestate + "\t" + obj.status + "\t" + obj.lbrrreason + "\t" + obj.cachetype + "\t" + obj.redirect + "\t" + obj.precedence + "\t" + obj.redirecturl + "\t" + obj.authentication + "\t" + obj.homepage + "\t" + obj.dnsvservername + "\t" + obj.domain + "\t" + obj.rule + "\t" + obj.policyname + "\t" + obj.servicename + "\t" + obj.weight + "\t" + obj.dynamicweight + "\t" + obj.cachevserver + "\t" + obj.backupvserver + "\t" + obj.priority + "\t" + obj.clttimeout + "\t" + obj.somethod + "\t" + obj.sopersistence + "\t" + obj.sopersistencetimeout + "\t" + obj.sothreshold + "\t" + obj.lbmethod + "\t" + obj.hashlength + "\t" + obj.dataoffset + "\t" + obj.datalength + "\t" + obj.netmask + "\t" + obj.gotopriorityexpression + "\t" + obj.ruletype + "\t" + obj.groupname + "\t" + obj.m + "\t" + obj.persistencetype + "\t" + obj.timeout + "\t" + obj.cookiedomain + "\t" + obj.persistmask + "\t" + obj.persistencebackup + "\t" + obj.backuppersistencetimeout + "\t" + obj.cacheable + "\t" + obj.pq + "\t" + obj.sc + "\t" + obj.sessionless + "\t" + obj.map + "\t" + obj.connfailover + "\t" + obj.redirectportrewrite + "\t" + obj.downstateflush + "\t" + obj.thresholdvalue + "\t" + obj.invoke + "\t" + obj.labeltype + "\t" + obj.labelname + "\t" + obj.cookieipport + "\t" + obj.vserverid + "\t" + obj.version + "\t" + obj.svcipaddress + "\t" + obj.svcport + "\t" + obj.svctype + "\t" + obj.svcstate + "\t" + obj.servicegroupname + "\t" + obj.scpolicyname + "\t" + obj.scpolicypriority + "\t" + obj.dospolicyname + "\t" + obj.dospolicypriority + "\t" + obj.rwpolicyname + "\t" + obj.rwpolicypriority + "\t" + obj.rwpolicygotoprioexpression + "\t" + obj.rwpolicybindpoint + "\t" + obj.rwinvoke + "\t" + obj.rwpolicyinvokelabeltype + "\t" + obj.rwpolicyinvokelabelname + "\t" + obj.rsppolicyname + "\t" + obj.rsppolicypriority + "\t" + obj.rsppolicygotoprioexpression + "\t" + obj.rspinvoke + "\t" + obj.rsppolicyinvokelabeltype + "\t" + obj.rsppolicyinvokelabelname + "\t" );
					}
				}

				result = client.addpolicyexpression("cs_html","url contains html");
				Console.WriteLine("addpolicyexpression	cs_html : " + result.message);

				result = client.addpolicyexpression("cs_gif","url contains gif");
				Console.WriteLine("addpolicyexpression	cs_gif : " + result.message);

				result = client.addpolicyexpression("cs_asp","url contains asp");
				Console.WriteLine("addpolicyexpression	cs_asp : " + result.message);

				result = client.addpolicyexpression("cs_html1","req.http.url contains html");
				Console.WriteLine("addpolicyexpression	cs_html1 : " + result.message);

				result = client.addpolicyexpression("cs_gif1","req.http.url contains gif");
				Console.WriteLine("addpolicyexpression	cs_gif1 : " + result.message);

				result = client.addpolicyexpression("cs_asp1","req.http.url contains asp");
				Console.WriteLine("addpolicyexpression	cs_asp1 : " + result.message);

				result = client.addpolicyexpression("cs_all","cs_html||cs_gif||cs_asp");
				Console.WriteLine("addpolicyexpression	cs_all : " + result.message);

				result = client.addpolicyexpression("s_ip1","SOURCEIP  ==  10.102.1.61");
				Console.WriteLine("addpolicyexpression	s_ip1 : " + result.message);

				result = client.addpolicyexpression("s_ip2","SOURCEIP  ==  10.102.3.206");
				Console.WriteLine("addpolicyexpression	s_ip2 : " + result.message);

				result = client.addpolicyexpression("s_ip3","SOURCEIP  ==  10.102.3.207");
				Console.WriteLine("addpolicyexpression	s_ip3 : " + result.message);

				result = client.addpolicyexpression("s1_ip1","REQ.IP.SOURCEIP  ==  10.102.1.61");
				Console.WriteLine("addpolicyexpression	s1_ip1 : " + result.message);

				result = client.addpolicyexpression("s1_ip2","REQ.IP.SOURCEIP  ==  10.102.3.206");
				Console.WriteLine("addpolicyexpression	s1_ip2 : " + result.message);

				result = client.addpolicyexpression("s1_ip3","REQ.IP.SOURCEIP  ==  10.102.3.207");
				Console.WriteLine("addpolicyexpression	s1_ip3 : " + result.message);

				result = client.addpolicyexpression("s_ip_all","s_ip1||s_ip2||s_ip3");
				Console.WriteLine("addpolicyexpression	s_ip_all : " + result.message);

				result = client.addcspolicy("contains_html",null,"REQ.HTTP.URL CONTAINS html",null);
				Console.WriteLine("addcspolicy	contains_html : " + result.message);

				result = client.addcspolicy("contains_txt",null,"REQ.HTTP.URL CONTAINS gif",null);
				Console.WriteLine("addcspolicy	contains_txt : " + result.message);

				result = client.addcspolicy("contains_gif",null,"REQ.HTTP.URL CONTAINS asp",null);
				Console.WriteLine("addcspolicy	contains_gif : " + result.message);

				result = client.addcspolicy("cs_html_pol",null,"cs_html",null);
				Console.WriteLine("addcspolicy	cs_html_pol : " + result.message);

				result = client.addcspolicy("cs_gif_pol",null,"cs_gif",null);
				Console.WriteLine("addcspolicy	cs_gif_pol : " + result.message);

				result = client.addcspolicy("cs_asp_pol",null,"cs_asp",null);
				Console.WriteLine("addcspolicy	cs_asp_pol : " + result.message);

				result = client.addcspolicy("cs_all_pol",null,"cs_all",null);
				Console.WriteLine("addcspolicy	cs_all_pol : " + result.message);

				result = client.addcspolicy("cs_ip1_pol",null,"s_ip1",null);
				Console.WriteLine("addcspolicy	cs_ip1_pol : " + result.message);

				result = client.addcspolicy("cs_ip2_pol",null,"s_ip2",null);
				Console.WriteLine("addcspolicy	cs_ip2_pol : " + result.message);

				result = client.addcspolicy("cs_ip3_pol",null,"s_ip3",null);
				Console.WriteLine("addcspolicy	cs_ip3_pol : " + result.message);

				result = client.addcspolicy("cs_ip_all_pol",null,"s_ip_all",null);
				Console.WriteLine("addcspolicy	cs_ip_all_pol : " + result.message);

				getcspolicyResult  getcspolicyresult4 = client.getcspolicy(null);
				Console.WriteLine("getcspolicy	null : " + getcspolicyresult4.message);

				if ( (getcspolicyresult4.List != null) && (getcspolicyresult4.List.Length > 0)) {
					for(int i =0 ; i < getcspolicyresult4.List.Length;i++) { 
						cspolicy obj;
						obj = (cspolicy) getcspolicyresult4.List[i];
						Console.WriteLine( obj.policyname + "\t" + obj.url + "\t" + obj.rule + "\t" + obj.domain + "\t" + obj.vstype + "\t" + obj.hits + "\t" );
					}
				}

				result = client.addcsvserver("csvip",csvservicetypeEnum.HTTP,"10.102.3.54",0xFFFFFFFF,80,enabledisabledEnum.VALNOTSET,null);
				Console.WriteLine("addcsvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip1","cs_html_pol",5,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip1","cs_ip1_pol",4,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip2","cs_gif_pol",5,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip2","cs_ip2_pol",4,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip3","cs_asp_pol",5,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip3","cs_ip3_pol",4,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip1","cs_all_pol",10,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip3","cs_ip_all_pol",10,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip1","contains_html",5,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip2","contains_txt",5,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip3","contains_gif",5,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				getcsvserverResult  getcsvserverresult5 = client.getcsvserver("csvip");
				Console.WriteLine("getcsvserver	csvip : " + getcsvserverresult5.message);

				if ( (getcsvserverresult5.List != null) && (getcsvserverresult5.List.Length > 0)) {
					for(int i =0 ; i < getcsvserverresult5.List.Length;i++) { 
						csvserver obj;
						obj = (csvserver) getcsvserverresult5.List[i];
						Console.WriteLine( obj.name + "\t" + obj.insertvserveripport + "\t" + obj.vipheader + "\t" + obj.ipaddress + "\t" + obj.value + "\t" + obj.port + "\t" + obj.range + "\t" + obj.servicetype + "\t" + obj.type + "\t" + obj.state + "\t" + obj.status + "\t" + obj.cachetype + "\t" + obj.redirect + "\t" + obj.precedence + "\t" + obj.redirecturl + "\t" + obj.authentication + "\t" + obj.casesensitive + "\t" + obj.homepage + "\t" + obj.dnsvservername + "\t" + obj.domain + "\t" + obj.rule + "\t" + obj.policyname + "\t" + obj.hits + "\t" + obj.servicename + "\t" + obj.weight + "\t" + obj.cachevserver + "\t" + obj.backupvserver + "\t" + obj.priority + "\t" + obj.clttimeout + "\t" + obj.somethod + "\t" + obj.sopersistence + "\t" + obj.sopersistencetimeout + "\t" + obj.sothreshold + "\t" + obj.url + "\t" + obj.gotopriorityexpression + "\t" + obj.redirectportrewrite + "\t" + obj.downstateflush + "\t" + obj.invoke + "\t" + obj.labeltype + "\t" + obj.labelname + "\t" + obj.cswtargetserver + "\t" + obj.rwpolicyname + "\t" + obj.rwpolicypriority + "\t" + obj.rwpolicygotoprioexpression + "\t" + obj.rwpolicybindpoint + "\t" + obj.rwinvoke + "\t" + obj.rwpolicyinvokelabeltype + "\t" + obj.rwpolicyinvokelabelname + "\t" + obj.rsppolicyname + "\t" + obj.rsppolicypriority + "\t" + obj.rsppolicygotoprioexpression + "\t" + obj.rspinvoke + "\t" + obj.rsppolicyinvokelabeltype + "\t" + obj.rsppolicyinvokelabelname + "\t" );
					}
				}

				result = client.bindcsvserver_targetvserver("csvip","lbvip1","cs_html_pol",3,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip2","cs_gif_pol",3,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip3","cs_asp_pol",3,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				getcsvserverResult  getcsvserverresult6 = client.getcsvserver("csvip");
				Console.WriteLine("getcsvserver	csvip : " + getcsvserverresult6.message);

				if ( (getcsvserverresult6.List != null) && (getcsvserverresult6.List.Length > 0)) {
					for(int i =0 ; i < getcsvserverresult6.List.Length;i++) { 
						csvserver obj;
						obj = (csvserver) getcsvserverresult6.List[i];
						Console.WriteLine( obj.name + "\t" + obj.insertvserveripport + "\t" + obj.vipheader + "\t" + obj.ipaddress + "\t" + obj.value + "\t" + obj.port + "\t" + obj.range + "\t" + obj.servicetype + "\t" + obj.type + "\t" + obj.state + "\t" + obj.status + "\t" + obj.cachetype + "\t" + obj.redirect + "\t" + obj.precedence + "\t" + obj.redirecturl + "\t" + obj.authentication + "\t" + obj.casesensitive + "\t" + obj.homepage + "\t" + obj.dnsvservername + "\t" + obj.domain + "\t" + obj.rule + "\t" + obj.policyname + "\t" + obj.hits + "\t" + obj.servicename + "\t" + obj.weight + "\t" + obj.cachevserver + "\t" + obj.backupvserver + "\t" + obj.priority + "\t" + obj.clttimeout + "\t" + obj.somethod + "\t" + obj.sopersistence + "\t" + obj.sopersistencetimeout + "\t" + obj.sothreshold + "\t" + obj.url + "\t" + obj.gotopriorityexpression + "\t" + obj.redirectportrewrite + "\t" + obj.downstateflush + "\t" + obj.invoke + "\t" + obj.labeltype + "\t" + obj.labelname + "\t" + obj.cswtargetserver + "\t" + obj.rwpolicyname + "\t" + obj.rwpolicypriority + "\t" + obj.rwpolicygotoprioexpression + "\t" + obj.rwpolicybindpoint + "\t" + obj.rwinvoke + "\t" + obj.rwpolicyinvokelabeltype + "\t" + obj.rwpolicyinvokelabelname + "\t" + obj.rsppolicyname + "\t" + obj.rsppolicypriority + "\t" + obj.rsppolicygotoprioexpression + "\t" + obj.rspinvoke + "\t" + obj.rsppolicyinvokelabeltype + "\t" + obj.rsppolicyinvokelabelname + "\t" );
					}
				}

				result = client.bindcsvserver_targetvserver("csvip","lbvip1","cs_all_pol",1,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				result = client.bindcsvserver_targetvserver("csvip","lbvip3","cs_ip_all_pol",1,null,vserverbindpointEnum.VALNOTSET,false,policylabelinvoketypeEnum.VALNOTSET,null);
				Console.WriteLine("bindcsvserver_targetvserver	csvip : " + result.message);

				getcsvserverResult  getcsvserverresult7 = client.getcsvserver("csvip");
				Console.WriteLine("getcsvserver	csvip : " + getcsvserverresult7.message);

				if ( (getcsvserverresult7.List != null) && (getcsvserverresult7.List.Length > 0)) {
					for(int i =0 ; i < getcsvserverresult7.List.Length;i++) { 
						csvserver obj;
						obj = (csvserver) getcsvserverresult7.List[i];
						Console.WriteLine( obj.name + "\t" + obj.insertvserveripport + "\t" + obj.vipheader + "\t" + obj.ipaddress + "\t" + obj.value + "\t" + obj.port + "\t" + obj.range + "\t" + obj.servicetype + "\t" + obj.type + "\t" + obj.state + "\t" + obj.status + "\t" + obj.cachetype + "\t" + obj.redirect + "\t" + obj.precedence + "\t" + obj.redirecturl + "\t" + obj.authentication + "\t" + obj.casesensitive + "\t" + obj.homepage + "\t" + obj.dnsvservername + "\t" + obj.domain + "\t" + obj.rule + "\t" + obj.policyname + "\t" + obj.hits + "\t" + obj.servicename + "\t" + obj.weight + "\t" + obj.cachevserver + "\t" + obj.backupvserver + "\t" + obj.priority + "\t" + obj.clttimeout + "\t" + obj.somethod + "\t" + obj.sopersistence + "\t" + obj.sopersistencetimeout + "\t" + obj.sothreshold + "\t" + obj.url + "\t" + obj.gotopriorityexpression + "\t" + obj.redirectportrewrite + "\t" + obj.downstateflush + "\t" + obj.invoke + "\t" + obj.labeltype + "\t" + obj.labelname + "\t" + obj.cswtargetserver + "\t" + obj.rwpolicyname + "\t" + obj.rwpolicypriority + "\t" + obj.rwpolicygotoprioexpression + "\t" + obj.rwpolicybindpoint + "\t" + obj.rwinvoke + "\t" + obj.rwpolicyinvokelabeltype + "\t" + obj.rwpolicyinvokelabelname + "\t" + obj.rsppolicyname + "\t" + obj.rsppolicypriority + "\t" + obj.rsppolicygotoprioexpression + "\t" + obj.rspinvoke + "\t" + obj.rsppolicyinvokelabeltype + "\t" + obj.rsppolicyinvokelabelname + "\t" );
					}
				}

				result = client.setcspolicy_rule("cs_all_pol","cs_html");
				Console.WriteLine("setcspolicy_rule	cs_all_pol : " + result.message);

				result = client.setcspolicy_rule("cs_ip_all_pol","s_ip1");
				Console.WriteLine("setcspolicy_rule	cs_ip_all_pol : " + result.message);

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

	}
	}

More Information