corba idl 中的非标准命名空间

发布于 2024-10-14 11:33:58 字数 481 浏览 2 评论 0原文

我正在使用 IIOP.NET 连接到 corba 服务器。这些服务器是企业级机器,由世界知名供应商部署,因此它们都实现标准的corba IDL文件。更具体地说,它们都符合 3gpp 标准。

在 3gpp 标准 idl 文件中,pragma 前缀定义为 3pggsa5.org。我使用了 IDL 到 CLS 编译器(它与 IIOP.NET 一起提供)来生成 dll。它是使用相同的命名空间生成的,即 3pggsa5.org。然而,这个 dll 在 .NET 中不可用,因为命名空间以整数开头。

如果我尝试在 3 之前添加下划线,.NET 会识别到这一点,但它无法连接到 corba 服务器,因为接口或 IDL 现在已更改。我还在某处读到,从 corba idls 为 java 类生成的命名空间与 corba/idl 命名空间相同。所以这也应该是一个问题。当然3gpp标准是行业级标准,不可能不起作用。我错过了什么吗?

请帮忙。谢谢。

I'm using IIOP.NET to connect to corba servers. The servers are enterprise level machines and deployed by world renowned vendors, so they all implement standard corba IDL files. More specifically, all of them conform to 3gpp standards.

In the 3gpp standard idl files the pragma prefix is defined to be 3pggsa5.org. I've used the IDL to CLS compiler, which comes along with IIOP.NET, to generate a dll. It gets generated with the same namespace i.e. 3pggsa5.org. However this dll is unusable in .NET because the namespace starts with an integer.

If I try and put an underscore before 3, .NET recognized that but it can't connect to corba server as the interface or IDL has changed now. I've also read somewhere that namespaces generated for java classes from corba idls are the same as corba/idl namespaces. So this should be a problem there as well. Certainly 3gpp standards are industry level standards, and it is not possible that they don't work. Am I missing something?

Kindly help. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏尔 2024-10-21 11:33:58

您需要一个合适的 idl 编译器,为那些错误的命名空间 (3gpp) 添加合适的字符前缀。然后,您的代码就可以工作了;)

或者您自己更改 idl 文件中的命名空间。

You need a proper idl compiler that prefixes those bad namespaces (3gpp) with a proper char. Then, your code will work ;)

Or just change the namespace in the idl files yourself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文