2009-10-27 85 views
2

我们有一个现有的J2EE应用程序,它使用WebSphere MQ从IMS检索数据。 J2EE应用程序将IMS事务名称发送到MQ,该MQ检索IMS数据。然后解析返回的数据以供进一步处理。使用zLinux的WebSphere MQ

最近我们将应用程序迁移到了WebSphere 7.该应用程序在Windows窗口上运行良好。但是,当我们将应用程序移植到zLinux(Linux on System z)框中时 - 我们可以与IMS交谈并且数据从IMS返回到J2EE应用程序。解析过程会引发ArrayIndexOutofBoundsException。

输入在两个环境中都是相同的,并且操作代码相同(相同的java版本),但在行为中观察到显着差异。这与CharacterCodeSet没有被zLinux环境接受有关吗?我们在J2EE应用程序中使用CCSID的硬编码值。

难道zLinux环境不支持现有的CCSID需要不同的CCSID吗?

+0

哇,你必须赢得历史上最难懂的环境问题奖。仅此+1。我已经向你重申了你的问题,并且我已经删除了我的非答复,希望它能以0个答案吸引更多的关注。 – DigitalRoss 2009-10-27 21:34:12

回答

0

顺便提一下,上述问题的答案在于BIG ENDIAN/LITTLE ENDIAN问题。与AIX/windows相比,Linux作为小端存储字节信息的方式不同。这导致解析失败 - 即,当格式不同时,解析MQ成功返回的消息的代码片段在Linux中无法解析。