我正在尝试通过读取队列“SYSTEM.ADMIN.COMMAND.EVENT”从队列管理器中获取 IBM MQ 消息。
打印消息时,我收到以下响应。
读取队列后如何将以下消息转换为用户友好的格式:
b'\x00\x00\x00\x07\x00\x00\x00$\x00\x00\x00\x03\x00\x00\x00c\x00\x00\x00\x01\x00\x00\x00\x01\x00\ x00\x00\x00\x00\x00\tm\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x10\x00\x00\x1fA\x00\x00\x00\t\ x00\x00\x00\x04\x00\x00\x00\x00\x00\x0b\xe5\x00\x00\x033\x00\x00\x00\x0cnb153796
\x00\x00\x00\x03\x00\x00\x00\x10\x00\x00\x03\xf3\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00D\x00\x00 \x0b\xe7\x00\x00\x033\x00\x00\x000ZANC000.YODA \x00\x00\x00\t\x00\x00\x000\x00\x00\x1bY\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x004\x00\x00\x0b\xe9\x00\x00\x033\x00\x00\x00\x00\x00\x00\x03 \x00\x00\x00\x10\x00\x00\x03\xf2\x00\x00\x00\x1c\x00\x00\x00\x04\x00\x00\x000\x00\x00\x0b\xea\x00\x00 \x033\x00\x00\x00\x1cMQ 资源管理器 9.0.0
\x00\x00\x00\x04\x00\x00\x00\x18\x00\x00\x0b\xeb\x00\x00\x033\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00 \x00\x10\x00\x00\x03\xfd\x00\x00\x00\xa1\x00\x00\x00\x14\x00\x00\x00\x10\x00\x00\x1fB\x00\x00\x00\x01 \x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x04\xcd\x00\x00\x00\x01\x00\x00\x03\xf1'
我的代码如下,我使用的是 Python 3.6 和 Django 2.1,除了格式或返回的消息外一切正常:
请协助弄清楚如何将 PYMQI Queue Get 返回的消息转换为用户可读的格式:
#
from django.shortcuts import render
from django.http import HttpResponse
import pymqi
#
queue_manager = "QueueManager"
channel = "Channel"
host = "hostname"
port = "port"
queue_name = "SYSTEM.ADMIN.COMMAND.EVENT"
user = "username"
password = "password"
connection_info = "%s(%s)" % (host, port)
#
#(option, args) = OptionParser
# Create your views here.
def index(request):
#
qmgr = pymqi.connect(queue_manager, channel, connection_info, user, password)
#
queue = pymqi.Queue(qmgr, queue_name)
print(queue.get())
messages = queue.get()
#for message in messages:
# print(type(message))
queue.close()
qmgr.disconnect()
return HttpResponse("MQ Hello Tests %s" % messages.hex())