CORBA:它是啥,为啥会产生“GIOP 魔法错误”?

Posted

技术标签:

【中文标题】CORBA:它是啥,为啥会产生“GIOP 魔法错误”?【英文标题】:CORBA: what is it and why does it create "error in GIOP magic"?CORBA:它是什么,为什么会产生“GIOP 魔法错误”? 【发布时间】:2014-11-10 20:00:11 【问题描述】:

我在 GlassFish 3.1.2 服务器日志中看到 CORBA error in GIOP magic,这会导致以后出现严重错误。由于这不是来自我的网络应用程序代码,它必须来自环境(?)。

谁能帮助解释一下 CORBA 是什么,这个一般性错误是如何产生的,以及如何排除故障?

[#|2014-11-08T14:14:52.296-0800|警告|glassfish3.1.2|javax.enterprise.resource.corba.ORBUtil|_ThreadID=646;_ThreadName=Thread-2;|IOP00710020: GIOP 魔术 org.omg.CORBA.INTERNAL 中的错误:警告:IOP00710020: GIOP 魔术 vmcid 中的错误:OMG 次要代码:20 已完成:可能在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在...

【问题讨论】:

查看过去问过的以下问题***.com/questions/13888784/giop-error-message 感谢@JohnnyWillemsen,在我问这个问题之前我确实看到了那个帖子,但它仍然有很多没有答案。我基本上使用 Java 作为我的中间层。 java需要CORBA吗?如果没有,它是否默认被其他东西使用? 【参考方案1】:

这里有一些提示

GIOPhttp://en.wikipedia.org/wiki/General_Inter-ORB_Protocol https://docs.oracle.com/cd/E13211_01/wle/wle42/corba/giop.pdf https://www.site.uottawa.ca/~tcl/gradtheses/mnojoumian/ThesisFiles/FinalSpec/CORBA/15.4.1.html

GIOP Magic number 用于让消息的接收者检查发送者的 little/endianess big/endianess。

在 MessageHeader 中定义为 4 字节值:

// GIOP 1.x
struct MessageHeader_1_x  // Renamed from MessageHeader
  char magic [4];
  Version GIOP_version

魔法: 此成员的值始终是用 ISO Latin-1 (8859.1) 编码的四个(大写)字符“GIOP”

如果您收到错误消息,您会看到传入的 IIOP 消息不正确或不同步。您可能想要调试消息流的生成和接收端以查看发生了什么。

另请参阅 GIOP error message 中的 Brian' Kelly 的回答,正如 Johnny Willemsen 在上面的评论中所指出的那样(如果您喜欢这个答案,您可能需要考虑支持这两个)。

【讨论】:

以上是关于CORBA:它是啥,为啥会产生“GIOP 魔法错误”?的主要内容,如果未能解决你的问题,请参考以下文章

TVOS UITableViewCell _UIFloatingContentView 它是啥以及为啥?

为啥 CORBA 接口有返回类型和 out 关键字?

为啥我的 CORBA 服务器没有绑定?

为啥#region 会产生编译错误?

Delphi - 为啥 ExplicitWidth 和 ExplicitHeight 不断出现在 .DFM 文件中,它是啥?

Delphi - 为啥 ExplicitWidth 和 ExplicitHeight 不断出现在 .DFM 文件中,它是啥?