热门关键字:  ubuntu  分区  linux系统进程  Fedora  函数
当前位置 :| 主页>Linux教程>编程开发>JAVA>

corba应用中idl文件自定义类型的参数传递问题的解决方案

来源: 作者: 时间:2008-05-30 Tag: 点击:
在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作为参数,调用那个有自定义类型参数的函数即可
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
栏目列表