Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python JMS服务器可以';t识别message.body并引发异常:";协议消息包含无效标记(零)。”;它与Stomp协议配合使用效果良好_Python_Jms_Activemq_Protocol Buffers_Qpid - Fatal编程技术网

Python JMS服务器可以';t识别message.body并引发异常:";协议消息包含无效标记(零)。”;它与Stomp协议配合使用效果良好

Python JMS服务器可以';t识别message.body并引发异常:";协议消息包含无效标记(零)。”;它与Stomp协议配合使用效果良好,python,jms,activemq,protocol-buffers,qpid,Python,Jms,Activemq,Protocol Buffers,Qpid,python qpid proton客户端通过ActiveMQ向JMS服务器发出请求 message.body包含一个Protobuf JMS服务器无法识别message.body并引发异常:“协议消息包含无效标记(零)。” 它可以与Stomp协议一起工作(但这是另一回事) 代码: 这里没有足够的信息,需要示例代码、日志等来查看可能发生的情况。不要让别人猜你是什么doing@TimBish为请求添加了src。 import sys import socket import uuid from t

python qpid proton客户端通过ActiveMQJMS服务器发出请求

message.body包含一个Protobuf

JMS服务器无法识别message.body并引发异常:“
协议消息包含无效标记(零)。

它可以与Stomp协议一起工作(但这是另一回事)

代码:


这里没有足够的信息,需要示例代码、日志等来查看可能发生的情况。不要让别人猜你是什么doing@TimBish为请求添加了src。
import sys
import socket
import uuid
from time import time

from proton import Message
from proton.handlers import MessagingHandler
from proton.reactor import Container

from proto import common

def make_message(message_body):

    message = Message()

    message.body = message_body
    message.correlation_id = 1

    message.properties = {
        'type': 'ru.messages.CommonProtos$LoginRequest',
        'content-length': len(message_body),
        'messageId': str(uuid.uuid4()),
        'errorMsg': '',
        'timestamp': str(int(time())),
        'user': 'vasja'
    }

    return message


def make_login_message():
    login_request = common.LoginRequest()

    login_request.ip.append(socket.gethostbyname(socket.gethostname()))
    login_request.username = "vasja"
    login_request.password = "123"
    login_request.clientVersion = "1.1.1"
    login_request.subscriber = "test"
    login_request.clientTime = int(time())
    login_request.pkName = "test"
    login_request.hostName = "vasja"

    return make_message(login_request.SerializeToString())


class AMQPClient(MessagingHandler):
    def __init__(self, server, request, receive=None):
        super(AMQPClient, self).__init__()
        self.server = server
        self.request = request
        self.receive = (
            request + "receive") if receive is None else (request + receive)

    def on_start(self, event):
        conn = event.container.connect(self.server)
        event.container.create_receiver(conn, self.receive)
        event.container.create_sender(conn, self.request)

    def on_sendable(self, event):
        message = make_login_message()
        event.sender.send(message)
        event.sender.close()

    def on_message(self, event):
        print(event.message.body)
        event.connection.close()


def main():  
    Container(AMQPClient(server="192.168.77.100:5672", request="test")).run()


if __name__ == "__main__":
    main()