传递数组或序列以在 idl Java Corba 中运行

Posted

技术标签:

【中文标题】传递数组或序列以在 idl Java Corba 中运行【英文标题】:Passing an array or sequence to function in idl Java Corba 【发布时间】:2012-11-25 17:57:47 【问题描述】:

在尝试将数组或序列添加到 idl 文件中定义的函数时,例如

  // BackupDaemon.idl

  interface BackupDaemon;

  #ifndef BackupDaemon_idl
  #define BackupDaemon_idl

 typedef sequence<BackupDaemon> BackupDaemonList;

 #include "BackupExceptions.idl"


 interface BackupDaemon 



     boolean startBackup(in sequence<string> backupPathes ,in string backupDaemonMacAddress);

 ;

 #endif 

我收到以下错误:-

Expected one of `float' `double' `long' `short' `un
signed' `char' `wchar' `boolean' `octet' `any' `string' `wstring' `<identifier>'
 `::' `ValueBase'; encountered `sequence'.
     boolean startBackup(in sequence<string> backupPathes ,in string backupDaemo
nMacAddress);

那么如何将数组或序列传递给 idl 文件中定义的函数? 提前致谢。 ^

【问题讨论】:

是java吗?重新标记您的问题。 我阅读了标识符映射并尝试了,但每次我得到错误。 和CORBA有关,我修改了tag。感谢您的通知 【参考方案1】:

序列不能直接用于 CORBA 操作。你需要先typedef他们:

typedef sequence<string> BackupPathesStrings;

interface BackupDaemon 
     boolean startBackup(in BackupPathesStrings backupPathes, in string backupDaemonMacAddress);
 ;

见:Sequences and Arrays

【讨论】:

以上是关于传递数组或序列以在 idl Java Corba 中运行的主要内容,如果未能解决你的问题,请参考以下文章

从 Java 源文件生成 CORBA IDL?

Eclipse Kepler CORBA 插件不会编译 IDL 文件

在 Java 中使用 Eclipse 为 CORBA IDL 启动命名服务

Java IDL与javaRMI

CORBA(orbd)网络配置?

CORBA IDL 与 RMI 的优缺点? [复制]