Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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
Java—向WebSphere message broker发送消息并更改我的消息_Java_Xml_Websphere_Messagebroker - Fatal编程技术网

Java—向WebSphere message broker发送消息并更改我的消息

Java—向WebSphere message broker发送消息并更改我的消息,java,xml,websphere,messagebroker,Java,Xml,Websphere,Messagebroker,因此,我向WebSphere发送了一条消息,并成功地将其放入队列。然而,我有一个问题,让它从另一个队列。但是当我用电话线给我发信息时,我注意到了: inputMessage.writeUTF(message); 信息如下: basket/argos/1001?authToken=fgTSdfs&trustToken=gdf43FsfSFefs33&apiKey=ahjd9234imnmdfnwi&sig=abcde&currenc

因此,我向WebSphere发送了一条消息,并成功地将其放入队列。然而,我有一个问题,让它从另一个队列。但是当我用电话线给我发信息时,我注意到了:

inputMessage.writeUTF(message);
信息如下:

basket/argos/1001?authToken=fgTSdfs&trustToken=gdf43FsfSFefs33&apiKey=ahjd9234imnmdfnwi&sig=abcde&currency=GBP
它存储在一个xml文件中,在消息的前面加上一个“n”。谁能告诉我为什么?代码如下:

    MQQueueConnectionFactory cf = new MQQueueConnectionFactory();

    // Config
    cf.setHostName(hostname);
    cf.setPort(portNumber);
    cf.setQueueManager(queueManager);
    cf.setChannel(channel);

    //MQQueueConnection connection = (MQQueueConnection) cf.createQueueConnection();
    //MQQueueSession session = (MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    //MQQueue queue = (MQQueue) session.createQueue(inputQueue);
    //MQQueue queue = (MQQueue)session.
    //MQQueueSender sender =  (MQQueueSender) session.createSender(queue);
    //MQQueueReceiver receiver = (MQQueueReceiver) session.createReceiver(queue);    


    MQQueueManager qMgr = new MQQueueManager(queueManager);
    System.out.println("Queue manager created");

    int openOptions = MQC.MQOO_INPUT_AS_Q_DEF |  
    MQC.MQOO_OUTPUT ;  
    System.out.println("MQ Options created");

    MQQueue mqInputQueue =  
        qMgr.accessQueue(inputQueue,  
                openOptions);

    System.out.println("Queue created");

    MQMessage inputMessage = new MQMessage();
    inputMessage.writeUTF(message);
    System.out.println("message created and sent");

    MQPutMessageOptions pmo = new MQPutMessageOptions();  // accept the defaults,  
    // same as  
    // MQPMO_DEFAULT  
    // constant  
    System.out.println("Queue options created");

    // put the message on the queue  
    mqInputQueue.put(inputMessage,pmo);
    System.out.println("Message put on queue");
    mqInputQueue.close();  

收到信息后,您是如何阅读的?是否正在使用
readUTF
方法?如果在发送消息时使用了
writeUTF
,则必须使用
readUTF
方法在接收后检索消息正文。“n”实际上可能是XML消息的长度,因为在UTF字符串中,前两个字节表示后面字符串的长度。

收到消息后,您是如何读取消息的?是否正在使用
readUTF
方法?如果在发送消息时使用了
writeUTF
,则必须使用
readUTF
方法在接收后检索消息正文。“n”实际上可能是XML消息的长度,因为在UTF字符串中,前两个字节表示后面字符串的长度