我是建立corba应用程序的新手。目前我正在java中开发corba应用程序。我遇到的问题是我应该编写一个方法来接收类的名称,方法和作为字符串传递给corba服务器的参数。 在调用远程方法之前,我必须解析字符串并获取所有必要的信息(类,方法,参数) 这里没有问题。但现在关于参数我现在事先没有参数的类型,所以我应该能够通过获取其类型并将其插入要发送的任何对象来转换参数,是否可能? 如果事先知道seq.insert_string(“bum”)这样的类型它可以工作,但我想动态地做。
答案 0 :(得分:1)
如果您的ORB支持它们,请使用DynAny接口。他们可以完全按照你的意愿行事。来自CORBA Explained Simply:
如果应用程序想要操纵嵌入
any
内的数据 没有用相关的存根代码编译然后 应用程序必须将any
转换为DynAny
。有子类型 每个IDL构造的DynAny。例如,有一些类型被称为 DynStruct,DynUnion,DynSequence等。DynAny接口上的操作允许程序员使用 递归深入研究复合数据结构 包含在DynAny中,并在此过程中分解化合物 键入内置类型的各个组件。 DynAny接口上的操作也可用于递归 从内置类型构建复合数据结构。