2016-08-25 4 views
0

Я создал проект SoapUI, который соединяется с очередью сообщений и отправляет на него сообщение JMS. Чтобы подключиться к MQ, я использовал инструмент HERMES, который предоставляет SoapUI. В настоящее время я использую Hermes v1.14.Как создать сеанс Hermes вручную в проекте java при импорте проекта SOAP, который подключается к JMS MQ

Я создал необходимую сессию и соответствующие очереди в конце Гермеса и послал сообщение JMS после выполнения действий, как показано здесь: https://www.soapui.org/documentation/jms/config.html, https://www.soapui.org/jms/working-with-jms-messages.html

Это все работает отлично.

Теперь я пытаюсь включить этот проект SOAPUI в проект Java, в котором я предоставил проект XML и запустил все необходимые тестовые примеры. Я не могу создать сеанс и очереди HERMES и т. Д. Через Java-код. Ниже приведены некоторые фрагменты кода из класса. Я на правильном пути? Ищите некоторую помощь для настройки этого.

TestRunner runner = null; 
SoapUI.setSoapUICore(new StandaloneSoapUICore(true)); 
WsdlProject project = new WsdlProject("C:\\My Directory\\CustomerTest-soapui-project.xml"); 
List<TestSuite> suiteList = project.getTestSuiteList(); 

String defaultHermesJMSPath= HermesUtils.defaultHermesJMSPath(); 
System.out.println("defaultHermesJMSPath- "+defaultHermesJMSPath); 

String soapUiHome = System.getProperty("soapui.home"); 
System.out.println("soapUiHome - "+soapUiHome); 

//System.setProperty("soapui.home", "C:\\Program Files\\SmartBear\\SoapUI-5.2.1\\bin"); 

TestRunner runner = project.getTestSuiteByName("Private Individual").getTestCaseByName(
"TEST CASE CONTAINING GROOVY SCRIPT TEST STEPTHAT CONNECTS TO HERMES").run 
(new PropertiesMap(), false); 

Выход:

defaultHermesJMSPath - null 
soapuiHome - null 

P.S. Я включил несколько баночек для этого, которые являются:

enter image description here

Любая помощь будет оценена.

+0

«Я не могу настроить сеанс HERMES вручную с помощью Java-кода» - запутанно. Ручная или автоматическая? – Rao

+0

Эй, Рао. Позвольте мне изменить описание. В ручном режиме я имел в виду создание сеанса и очередей Hermes и все с помощью кода Java. Я хочу запустить SOAP-проект независимо от SOAPUI с помощью JAVA. Поэтому я не буду использовать пользовательский интерфейс HERMES для создания сеансов и т. Д. –

+0

Вы уже настроили 'hermes-config.xml' с вами? Если это так, то вам действительно не нужно беспокоиться. Он должен автоматически выполнять тесты. – Rao

ответ

0

Основной задачей на этот вопрос должен был сделать SOAP проект, который в конечном счете независимо от HERMES GUI для настройки сеанса, очередей и т.д. То, что я сделал в конце концов, что я создал объекты для MQQueueConnectionFactory, QueueConnection, QueueSession, MQQueue, MQQueueSender, JMSTextMessage на моем тестовом шаге GROOVY и отправил JMS-сообщение в очередь. Таким образом, не было необходимости открывать пользовательский интерфейс Hermes и настраивать его там же. Ниже приведен пример кода.

def stringBuilder=context.expand('${CustomerXmlsAndCdbs#MasterXmlPrivateIndividual}'); 
    MQQueueConnectionFactory cf = new MQQueueConnectionFactory() 
    cf.setHostName(context.expand('${#Project#HostName}')); 
    cf.setPort(Integer.parseInt(context.expand('${#Project#Port}'))) 
    cf.setQueueManager(context.expand('${#Project#QueueManager}')) 
    cf.setTransportType(Integer.parseInt(context.expand('${#Project#TransportType}'))) 
    QueueConnection queueConn = cf.createQueueConnection("retapp","retapp") 
    QueueSession queueSession = queueConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE) 

    MQQueue queue = (MQQueue) queueSession.createQueue(context.expand('${#Project#QueueName}').toString()) 

    MQQueueSender sender = (MQQueueSender) queueSession.createSender(queue) 
    JMSTextMessage message = (JMSTextMessage) queueSession.createTextMessage(stringBuilder.toString()) 
    sender.send(message) 
    sender.close() 
    queueSession.close() 
    queueConn.close() 

следующие зависимости должны уже существовать как в SoapUI Lib (\ SoapUI-5.2.1 \ Lib) & Hermes Lib папки (\ SoapUI-5.2.1 \ hermesJMS \ Lib):

com.ibm.dhbcore.jar, com.ibm.mq.jar, com.ibm.mq.pcf.jar, com.ibm.mqjms.jar, connector.jar, javax.transaction. jar

 Смежные вопросы

  • Нет связанных вопросов^_^