public static OMElement xmlObjectToOMElement(XmlObject responseXmlObj) throws XMLStreamException { String responseXml; XmlOptions opts = new XmlOptions(); opts.setSaveOuter(); responseXml = responseXmlObj.xmlText(opts); OMElement outgoingMsg = org.apache.airavata.commons.WorkFlowUtils.reader2OMElement(new StringReader(responseXml)); return outgoingMsg; }
@Test public void testRestart() throws Exception { Subscription subscription = null; MessageBoxCreateThread thread = new MessageBoxCreateThread(BROKER_URL, MESSAGEBOX_URL, TOPIC); thread.start(); Thread.sleep(100); thread.stop(); Thread.sleep(5000); System.out.println("bringing down the Puller\n Publishing Messages"); WseMsgBrokerClient client = new WseMsgBrokerClient(); client.init(BROKER_URL); OMElement msg = WorkFlowUtils.reader2OMElement( new StringReader(CommonUtils.WORKFLOW_INITIALIZED_NOTIFICATION)); client.publish(TOPIC, msg); System.out.println("Messages published"); System.out.println("Creating another puller"); EndpointReference epr = thread.getWsaEndpointReference(); String subscriptionID = thread.getSubscriptionID(); String topic = thread.getTopic(); System.out.println(epr); System.out.println(subscriptionID); subscription = LeadNotificationManager.startListeningToSavedSubscription( BROKER_URL, epr, subscriptionID, topic, null, new Callback() { public void deliverMessage( String topic, NotificationType type, XmlObject messageObj) { System.out.println("Notification Received, notification of type:" + type); System.out.println("Topic[" + topic + "]"); // assertEquals(type, NotificationType.WorkflowInitialized); wait = false; } }, false); System.out.println(subscription.getMessageBoxEPR()); while (wait) { Thread.sleep(1000); } }