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()
{
this.Url = "http:;
}
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());
}
}
}
}