我正在尝试通过读取队列“ 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 \ x01 \ x00 \ x00 \ x00 \ x01 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ tm \ x00 \ x00 \ x00 \ x02 \ x00 \ x00 \ x00 \ x14 \ x00 \ x00 \ x00 \ x10 \ 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 \ 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 \ 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 \ x00 \ x04 \ x00 \ x00 \ x000 \ x00 \ 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 \ x00 \ x14 \ x00 \ x00 \ x00 \ x10 \ 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())