SoapUI teststep或groovy不能通过hermes消耗来自Weblogic JMS队列的大消息

时间:2017-10-06 09:50:58

标签: groovy weblogic soapui hermes-jms jms-queue

我有一个testCase,它有一个模拟响应测试步骤,端点正在从weblogic jms队列中读取jms:// WLS :: - :: queue_SouthboundOutboundQueue。

当来自weblogic的消息达到“10000000”字节时,此测试步骤将停止在运行测试用例时使用该消息。

尝试从像这样的groovy脚本中读取队列:

def jmsEndPoint = new JMSEndpoint("jms://WLS::-::queue_SouthboundOutboundQueue");
log.debug(jmsEndPoint.sessionName);
def hermes = HermesUtils.getHermes(context.testCase.testSuite.project, jmsEndPoint.sessionName);
def jmsConnectionHolder = new JMSConnectionHolder(jmsEndPoint,hermes,false,null,null,null);
Session session = jmsConnectionHolder.getSession();
Queue queue = jmsConnectionHolder.getQueue(jmsConnectionHolder.getJmsEndpoint().getReceive());
MessageConsumer consumer = session.createConsumer(queue);
Message message = null;
def count = 0;
while((message = consumer.receiveNoWait()) != null){
    //error happens here when it is consumed
    count++;
}    

阅读大消息时groovy引发的错误

enter image description here

  

weblogic.jms.common.JMSException:   weblogic.messaging.dispatcher.DispatcherException:   weblogic.rjvm.PeerGoneException :;嵌套异常是:   weblogic.socket.MaxMessageSizeExceededException:传入的消息   大小:'10000080'字节超出配置的最大值:'10000000'   协议的字节:'t3'错误在第22行

PS:Weblogic正在使用大消息,因为我在其中添加了-Dweblogic.MaxMessageSize = 2000000000。还尝试在soapui和hermes sh以及bat starter文件中添加此参数,但没有任何效果。

0 个答案:

没有答案