CORBA简介

  • 格式:pdf
  • 大小:78.90 KB
  • 文档页数:2

CORBA简介

使⽤.NET开发corba应⽤

⼀、 什么是IIOP.NET

IIOP.NET 是通过使⽤基于corba的IIOP⽀持.NET、javaEE和corba组件实现⽆缝互操作的技术。如图1.1所⽰,这种解决⽅案依赖于.NET

Remoting 体系结构的可扩展性,以提供透明的对象级的集成,同时不会导致⽹关或基于 SAOP 产品引起的性能上的开销。

hi.GRXX hr;

intMZ mz = (intMZ) nameService.resolve(name);

Console.WriteLine();

//测试⽅法

short[] res = mz.GetGRJBXX(yljgbm, ylzh, pass, czybm, czyxm, out hr);

Console.WriteLine(TransformAS(res));

Console.WriteLine(hr.ACCOUNT);

Console.WriteLine(hr.YLZH);

Console.WriteLine(hr.XB);

Console.WriteLine("finished!");

}

catch (Exception e)

{

Console.WriteLine("exception: " + e);

}

}

//string类型转为short[]

public static short[] transfromSA(string strArray)

{

short[] shortArray = new short[strArray.Length];

char[] chars = strArray.ToCharArray();

for (int i = 0; i < strArray.Length;i++ ) {

shortArray[i] = transCharToShort(chars[i]);

}

return shortArray;

}

public static short transCharToShort(char c) {

char[] t = new char[1];

t[0] = c;

string strTemp = new string(t);

byte[] cc = System.Text.Encoding.Default.GetBytes(strTemp);

if (cc.Length == 1)

{

return (short)(cc[0] < 0 ? cc[0] + 256 : cc[0]);

}

int v1 = cc[0] < 0 ? cc[0] + 256 : cc[0];

int v2 = cc[1] < 0 ? cc[1] + 256 : cc[1];

return (short)(v1 * 256 + v2);

}

//short[] 转为string类型

public static string TransformAS(short[] sArray)

{

char[] charArray = new char[sArray.Length];

for (int i = 0; i < sArray.Length; i++)

{

charArray[i] = TransShortToChar(sArray[i]);

}

return new String(charArray);

}

private static char TransShortToChar(short sTemp)

{

if (sTemp >= 0)

{

return (char)sTemp;

}

byte[] b = new byte[2];

b[0] = (byte)(sTemp >>;

b[1] = (byte)sTemp;

string strTemp = System.Text.Encoding.Default.GetString(b);

char[] charArrTemp = strTemp.ToCharArray();

return charArrTemp[0];

}

}

}

1. 测试输出。

程序正常输出结构体GRXX中的信息,说明能与服务器端正常通讯,进⾏数据交换。如程序出现异常,⼀般表现为:

󰀀 未能与服务器建⽴连接(如ior⽂件错误,或⽹络连接失败); 󰀀 服务名填写错误(如门诊服务名为:”MZYL”,”Service”,⼀旦服务名填写错误,不能获取服务器端门诊服务对象。)

󰀀 本地测试某些⽅法时,传⼊的参数为空;

󰀀 服务器端某些⽅法的实现有问题。

五、 结束语

本⽂通过分析使⽤.NET应⽤IIOP.NET开发深圳医保接⼝的⽰例,阐释了使⽤C#开发corba应⽤程序的流程。通过采⽤IIOP.NET 能够

达到企业级应⽤系统的⽆缝集成的要求,IIOP.NET 具有可靠性⾼,可⽤性强,紧耦合等特点,并且这个技术是⼀个开源项⽬,拥有

LGPL 许可证,因此,它是⼀种理想的企业级应⽤⼯具和应⽤系统解决⽅案。

0