corba idl 中的非标准命名空间
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要一个合适的 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.