1

以下来自JavaTM IDL 常见问题解答

如何从 Sun 的 ORB 连接到第 3 方命名服务?

推荐的方法是使用

互操作命名服务 (INS)

如果 3rd-party Naming Service 支持此选项

要将 Sun ORB 与其他供应商的命名服务一起使用,

  • 在主机和端口上启动第 3 方名称服务器。
  • 将以下参数传递给 ORB.init():

    -ORBInitRef NameService=corbaloc:iiop:1.2@:/NameService
    

    当您执行 orb.resolve_initial_references( "NameService" ) 时,您应该能够连接到第 3 方名称服务。如果您仍然无法连接,请尝试以下故障排除提示:

  • 验证第 3 方名称服务是否支持 INS。

  • 验证主机和端口信息是否准确。

  • 验证 3rd-party Name Service 是否已成功启动。

  • 验证第 3 方名称服务是否支持 GIOP 1.2。如果不是,请参阅名称服务器的文档以获取正确的 GIOP 版本,并相应地修改 corbaloc: URL。

  • 确定第 3 方名称服务是否具有用于联系 NameService 的不同对象键。如果是这样,请参阅名称服务器的文档。

我是 CORBA 的新手,我想知道是否有另一种方法可以连接到可能不那么“推荐”的第 3 方命名服务。毕竟,我如何猜测第 3 方命名服务是否支持 INS(Interoperable Naming Service),目前尚不清楚。但话又说回来,我确实提到我对这些东西很陌生......

4

1 回答 1

2

自从上次对我施加 CORBA 以来,已经过去 10 多年了,但我仍然记得一些事情。

“不推荐”的方式是使用 IOR(可互操作的命名参考),它是 CORBA 的 URL 等价物。IOR 本质上是活动 CORBA 对象位置的字符串表示形式。客户端可以将 IOR 转换为该对象的句柄。

通常,IOR 本身指向一个 CoS 命名服务,它是其他对象的注册表,但是拥有一个直接指向远程对象的 IOR 也同样有效。

请参阅这篇古老的文章(从 1999 年开始,上一次有人关心 CORBA),了解如何处理 IOR。

于 2009-12-30T19:27:14.000 回答