分类:
2008-10-28 18:10:45
在idl文件中,修改将要传递参数的函数,将里面的所有非基本类型的参数都改为any,然后每种非基本参数类型都另外定义接口,如:
interface Student {
void setName(in string n);
string getName();
};
编译idl
创建自定义的StudentImpl,public class StudentImpl extends StudentPOA implements Student
在StudentImpl类中实现Student中的接口,如果有其它的功能需求也可以定义其它方法
在MyServiceServerImpl类中修改带有自定义类型参数的函数,将自定义类型的参数改为Any类型,并修改函数体:
Student stu = StudentHelper.extract(s);
system.out.println(stu.getName());
修改端Server_AOM代码,仿照原来绑定MyServiceServerImpl实例的代码,另外将一个字符串绑定到StudentImpl的实例上
在客户端将该对象解析出来,创建Any对象,Any a = orb.create_any(),然后用StudentHelper.insert(a,s)方法将Student写入到a的value值里,在将a作为参数,调用那个有自定义类型参数的函数即可