WebSphere MQ 二进制文件

WebSphere MQ binary fiiles

由于我使用的外部工具的性质(缺少文档),这个问题可能无法得到解答。

基本上,我使用的是从队列中推送和拉取消息的工具,更准确地说,它是推送和拉取文件。它非常适合文本文件,但是当我尝试推送然后拉取二进制文件时 - 拉取的文件已损坏,与原始文件相比,它的大小增加了(1.33 比率)。

例如,移动 zip 文件是行不通的...

我想这与工具配置有关,关于该问题唯一可以更改的设置是 CCSID 和编码(UTF-8、Base16 等),我尝试同时使用两者,不幸的是没有成功。

尝试使用以下 CCSID:65535、1208、819 和编码:UTF-8、Base16、Base64

在每种情况下,二进制文件在从队列中拉出后都会损坏,我不完全确定该工具是如何完成的,它是用 Java 编写的,而且我是 MQ 的新手,所以我尝试在 IBM 的文档中搜索正确的选项,但我没有发现任何比 65535 和 Base16 更有意义的东西,但它仍然不起作用,任何对 MQ 有更多经验的人都可以告诉我使用这些选项是否有意义在这种情况下,如果是的话 - 建议我可以尝试使用什么 CCSID 和编码来完成我上面描述的内容?

确实需要更多信息,但我怀疑您将消息作为文本消息放在 queue 上,并尝试使用编码和 ccsid 来尝试使其正确。您真的需要知道 'Java' 应用程序如何实现这一点 - 它是使用 JMS(例如 JMSBytesMessage)还是基础 Java(类似于 setMessageData)。

在高层,消息(MD)上有一个 header,其中 'describes' 数据 - MD 格式字段。如果您说数据是一个字符串,那么 MQ 可以在 getter 请求它等代码页之间进行转换。将一个小的二进制文件放入 queue 上的消息中,然后浏览 queue amqsbcg 或 GUI - 格式的 MD 字段是什么?负载上有哪些 headers - 像 RFH2 的东西?

放入相同的代码给我们一个线索,或者至少是 amqsbcg 输出