2016-08-25 1 views
0

メッセージキューに接続してJMSメッセージを送信するSoapUIプロジェクトを作成しました。 MQに接続するために、私はSoapUIが提供するHERMESツールを使用しました。現在、私はHermes v1.14を使用しています。JMSプロジェクトにインポートするときにJavaプロジェクトでHermesセッションを手動で作成する方法

私はエルメス末端に必要なセッションと適切なキューを作成し、ここに示すように、手順に従った後、JMSメッセージを送信した:https://www.soapui.org/documentation/jms/config.htmlhttps://www.soapui.org/jms/working-with-jms-messages.html

このすべてが正常に動作します。

このSOAPUIプロジェクトをJavaプロジェクトに組み込み、プロジェクトXMLを提供し、必要なすべてのテストケースを実行します。私は、Javaコードを介してHERMESセッションやキューなどを作成することができません。以下は、クラスのコードスニペットの一部です。私は正しい道にいますか?これを設定するためのヘルプを探しています。

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

任意の助けをいただければ幸いです。私は、このためのJARファイルの数が含まれています。

+0

'私はHERMESセッションをJavaコードで手動で設定できません。 ' - 混乱します。手動または自動? – Rao

+0

ちょっとラオ。説明を編集させてください。手動では、私はエルメスのセッションとキューを作成し、すべてJavaコードで作成することを意味しました。 JAVAを使用してSOAPUIとは独立したSOAPプロジェクトを実行したい。だから、HERMESのUIを使ってセッションなどを作りません。 –

+0

あなたは 'hermes-config.xml'をあなたと一緒に設定しましたか?もしそうなら、あなたは本当に気にする必要はありません。自動的にテストを実行できるはずです。 – Rao

答えて

0

この質問のための主な関心事は、私が最後にやったことは、私はMQQueueConnectionFactoryのためのオブジェクトを作成したことだったなどのセッションを設定するために、最終的HERMES GUIとは独立したSOAPプロジェクト、キューを作ることでした、 QueueConnection、QueueSession、MQQueue、MQQueueSender、JMSTextMessageをGROOVYテストステップで実行し、JMSメッセージをキューに送信しました。したがって、Hermes UIを開いてそこで同じ設定を行う必要はありませんでした。以下に、サンプルコードを示します。 SOAPUI-5.2.1 \ hermesJMS \ libに\次の依存関係が既に(LIB \ SOAPUI-5.2.1 \ SOAPUIのLibの両方に存在している必要があり

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() 

& エルメスのLibフォルダ):

com.ibm.dhbcore.jar、あるcom.ibm.mq.jar、com.ibm.mq.pcf.jar、com.ibm.mqjms.jar、のconnector.jar、のjavax.transaction。ジャー

関連する問題