IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答  寄存器
 

Getting junk values while browse the 信息 from MQ


IBM大型机论坛 -> 爪哇& MQSeries
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
Thamilselvi

新的用户


已加入:2012年6月22日
职位:57
地点:钦奈

 发布 发表时间:2012年7月3日,星期二,2:10 pm
引用回复

你好

我已经编写了一个cobol cics程序来浏览大型机MQ中的消息。我的程序在从MQ浏览消息时得到了一些垃圾字符。

计算MQGMO-OPTIONS = MQGMO -NO-WAIT +
MQGMO -接受-截断-MSG +
MQGMO 转换+
MQGMO -FAIL-IF-QUIESCING。

将MQMI-NONE移动到MQMD-MSGID
将MQFMT_NONE移动到MQMD-FORMAT
将MQCI-NONE移动到MQMD-CORRELID
将MQENC-NATIVE移至MQMD编码
将MQCCSI-Q-MGR移动到MQMD-CODEDCHARSETID

使用W03-HCONN调用“ MQGET”
W03-HOBJ
MQMD
MQGMO
W00-MSGLENGTH
W00-MSGBUFFER
W00-数据长度
W03-COMPCODE
W03原因

请帮助我如何从MQ获得主机支持的格式的消息。
回到顶部
查看用户资料 Send private 信息
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

 发布 发表时间:2012年7月3日,星期二,2:24 pm
引用回复

引用:
我的程序在从MQ浏览消息时得到了一些垃圾字符。


取决于参与的合作伙伴<message exchange>您所看到的垃圾很容易就是二进制数据(例如COBOL COMP的东西)

MQ只是一个载体,其任务是交付<message> data,
消息内容由应用程序约定建立。
回到顶部
查看用户资料 Send private 信息
Thamilselvi

新的用户


已加入:2012年6月22日
职位:57
地点:钦奈

 发布 发表:2012年7月3日星期二下午2点28分
引用回复

对不起,我听不懂你在说什么?
回到顶部
查看用户资料 Send private 信息
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

 发布 发表:2012年7月3日,星期二,2:33 pm
引用回复

引用:
对不起,我听不懂你在说什么?

好吧,我以为我给出了一个非常简单的解释...
如果您听不懂,我们都在浪费时间

我看不出有任何更简单的解释方式。
回到顶部
查看用户资料 Send private 信息
潘多拉魔盒

主持人


已加入:2006年9月7日
职位:1565
地点:仙女座星系

 发布 发表时间:2012年7月3日,星期二,下午2:41
引用回复

尝试浏览输入队列,并尝试了解源应用程序用于将消息放入队列的格式

可能是MQMD-FORMAT
回到顶部
查看用户资料 Send private 信息
Thamilselvi

新的用户


已加入:2012年6月22日
职位:57
地点:钦奈

 发布 发表:2012年7月3日星期二下午2:44
引用回复

(Java ) Source application put the 信息 in windows format.
回到顶部
查看用户资料 Send private 信息
潘多拉魔盒

主持人


已加入:2006年9月7日
职位:1565
地点:仙女座星系

 发布 发表:2012年7月3日星期二下午2:55
引用回复

您是否怀疑只是重复 这个帖子
回到顶部
查看用户资料 Send private 信息
Thamilselvi

新的用户


已加入:2012年6月22日
职位:57
地点:钦奈

 发布 发表:2012年7月3日星期二下午3:05
引用回复

是的,只一样。
我也尝试过UTF8。同样的问题
回到顶部
查看用户资料 Send private 信息
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

 发布 发表:2012年7月3日,星期二,下午5:04
引用回复

Thamilselvi,没有“垃圾值”之类的东西-请在白板上写1000遍(如果需要,则写10000遍),直到您理解为止。

PC以ASCII工作。大型机在EBCDIC中工作。除非将字符从ASCII转换为EBCDIC,否则发送到大型机的PC消息将无法读取,并且在整个过程中将具有奇怪的字符。关于您所看到的内容的最简单,最有可能的解释是,该数据未转换为EBCDIC。而且,顺便说一句,UTF-8是ASCII的一个版本,因此将显示完全相同的问题。在这种情况下,您必须在应用程序中找到一种进行翻译的方法,否则您将继续遇到问题。很多时候,这种转换是由传输软件完成的(例如,使用FTP将文本文件从PC发送到大型机,例如,在FTP期间将ASCII转换为EBCDIC)。

还有其他可能性-例如,数据可能是所有数字数据,并且大型机存储格式对您来说是如此陌生,以致您无法识别数据。除非您以十六进制形式发布示例数据(最好使用“代码”按钮保留间距),否则我们将无法为您提供更多帮助。
回到顶部
查看用户资料 Send private 信息
Thamilselvi

新的用户


已加入:2012年6月22日
职位:57
地点:钦奈

 发布 发表:2012年7月4日星期三下午1点56分
引用回复

你好

我已经将ASCII数据转换为EBCDIC格式。但是,未使用的空间显示如下。我已经初始化了所有使用的变量。尽管如此,我正在获得如下的MQ消息(conversion之后)。谁能帮助我寻求这一点。

<CUSTOMER-DETAILS><CUSTOMER-NAME><FIRSTNAME>THAMILSELVI</FIRSTNAME><LASTNAME>SUR
埃库玛</LASTNAME></CUSTOMER-NAME><ADDRESS-DETAILS><CITY>CHENNAI</CITY><STATE>T
阿米那杜</STATE></ADDRESS-DETAILS></CUSTOMER-DETAILS>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
回到顶部
查看用户资料 Send private 信息
加里·卡罗尔

高级会员


加入时间:2006年5月8日
职位:1100
所在地:爱尔兰都柏林

 发布 发表:2012年7月4日,星期三4:00 pm
引用回复

如果消息的来源是Java应用程序,则很可能会看到JMS标头。它包含在MQ RFH2(iirc)中,您需要在Cobol程序中允许这样做。或者,Java端可以指定不存在RFH2。

加油
回到顶部
查看用户资料 Send private 信息
彼得·科博斯科兰

活跃用户


已加入:2012年2月6日
帖子:104
地点:瑞典

 发布 发表:2012年7月4日,星期三,下午6:30
引用回复

码:
<CUSTOMER-DETAILS>
   <CUSTOMER-NAME>
      <FIRSTNAME>THAMILSELVI
      </FIRSTNAME>
      <LASTNAME>SURESHKUMAR
      </LASTNAME>
   </CUSTOMER-NAME>
   <ADDRESS-DETAILS>
      <CITY>CHENNAI
      </CITY>
      <STATE>TAMILNADU
      </STATE>
   </ADDRESS-DETAILS>
</CUSTOMER-DETAILS>

您还期望什么?
如果您知道缺少什么,则调试起来会容易得多。
在我看来,它看起来像是一个完美的XML结构,带有一些额外的垃圾。
回到顶部
查看用户资料 Send private 信息
dbzTHEdinosauer

全球主持人


已加入:2006年10月20日
帖子:6967
位置:瓷宝座

 发布 发表:2012年7月4日,星期三7:05 pm
引用回复

mq消息都是可变长度的-它们都带有在获取时填充的消息长度属性。

这意味着不考虑超出“长度”的任何数据。

您有一个缓冲区长度,即您在get(或put)上提供mqs的地址的区域长度
在“缓冲区”中的是消息,对于放置权,缓冲区中消息的长度必须由发送应用程序计算。

相反,获取将收到一条消息到“缓冲区”,而消息长度将由“获取”提供。

这是一个从未尝试了解或了解MQ的人的典型问题。

实际上,该线程将完全浪费时间,
除了偶尔,我们需要提醒一下
我们专业中不懂的人。
回到顶部
查看用户资料 Send private 信息
马索

REXX主持人


已加入:2006年3月13日
帖子:1348
地点:以色列

 发布 发表:2012年7月4日,星期三7:38 pm
引用回复

Thamilselvi写道:
我已经将ASCII数据转换为EBCDIC格式。但是,未使用的空间显示如下。我已经初始化了所有使用的变量。尽管如此,我正在获得如下的MQ消息(conversion之后)。谁能帮助我寻求这一点。

<CUSTOMER-DETAILS><CUSTOMER-NAME><FIRSTNAME>THAMILSELVI</FIRSTNAME><LASTNAME>SUR
埃库玛</LASTNAME></CUSTOMER-NAME><ADDRESS-DETAILS><CITY>CHENNAI</CITY><STATE>T
阿米那杜</STATE></ADDRESS-DETAILS></CUSTOMER-DETAILS>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

我不明白您是如何“将ASCII数据转换为EBCDIC格式”的
调用MQGET时,收到的参数之一是实际消息长度。
您检查此值吗?
回到顶部
查看用户资料 Send private 信息
dbzTHEdinosauer

全球主持人


已加入:2006年10月20日
帖子:6967
位置:瓷宝座

 发布 发表:2012年7月4日,星期三,8:07 pm
引用回复

@被转换为ebcidc空间到ascii空间。

缓冲区的未使用区域(在程序中)
and by unused i mean that area beyond the 信息 length

实际上不受mq的影响,这就是存储的方式
在你的程序中
已初始化。
回到顶部
查看用户资料 Send private 信息
Thamilselvi

新的用户


已加入:2012年6月22日
职位:57
地点:钦奈

 发布 发表:2012年7月5日,星期四,下午4:24
引用回复

你好

感谢你的帮助。我是Websphere MQ的初学者。以上信息对我有很大帮助。 icon_biggrin.gif
回到顶部
查看用户资料 Send private 信息
Thamilselvi

新的用户


已加入:2012年6月22日
职位:57
地点:钦奈

 发布 发表:2012年7月5日,星期四,下午4:27
引用回复

大家好,

感谢您的所有努力/帮助。以上信息有助于我了解如何从MQ获得消息。 Bcoz,大家,只有我按时完成了我的课程。
回到顶部
查看用户资料 Send private 信息
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> 爪哇& MQSeries

 


类似主题
话题 论坛 回覆
没有新帖 Read 4MB 信息 and split into multi... COBOL程式设计 9
没有新帖 抄写本在...中获取不正确的值 COBOL程式设计 7
没有新帖 强制返回代码并打印错误消息... 同步排序 30
没有新帖 JDBC驱动程序-默认值 DB2 1
没有新帖 在浏览器中读取文件时出现问题... TSO / ISPF 7
搜索我们的论坛:


回到顶部