[jboss-user] [JBoss Messaging] - SOAP over JMS using JBOSS Messaging

mpurdy1973 do-not-reply at jboss.com
Thu Apr 9 14:14:15 EDT 2009


i have used SOAP over JMS with TIBCO EMS Server; i would like to do the same with JBOSS Messaging in AS 5.0.1

below is the client code for an example of what i am trying to do

thanx,
matt




  | 
  | 
  | import javax.jms.JMSException;
  | import javax.jms.MessageProducer;
  | import javax.jms.Queue;
  | import javax.jms.QueueConnection;
  | import javax.jms.QueueConnectionFactory;
  | import javax.jms.QueueReceiver;
  | import javax.jms.QueueSession;
  | import javax.jms.TextMessage;
  | 
  | public class SoapOverJmsClient
  | {
  |    public static final String SOAP_REQUEST = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns0=\"http://www.pyxisengineering.com/Quote/\"><soapenv:Header/><soapenv:Body><ns0:GetAll><symbol>tibx</symbol></ns0:GetAll></soapenv:Body></soapenv:Envelope>";
  |    public static final String REQUEST_JMS_QUEUE_NAME = "queue.sample";
  |    public static final String REPLY_TO_JMS_QUEUE_NAME = "queue.sample";
  | 
  |    public static void main(String[] args)
  |    {
  | 
  |       String inputValue = "tibx";
  |       SoapOverJmsClient.sendJMS(inputValue);
  |       
  |    }//end SoapOverJmsClient entry point
  | 
  |    public static void sendJMS(String inputValue)
  |    {
  |       //receiving reply from the queue.
  |       try 
  |       {
  |     	 //create the queues
  |          QueueConnectionFactory factory = new com.tibco.tibjms.TibjmsQueueConnectionFactory("localhost");
  |          QueueConnection connection     = factory.createQueueConnection(null, null);
  |          QueueSession session           = connection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
  |          Queue requestQueue             = session.createQueue(SoapOverJmsClient.REQUEST_JMS_QUEUE_NAME);
  |          javax.jms.Queue replyToQueue   = session.createQueue(SoapOverJmsClient.REPLY_TO_JMS_QUEUE_NAME);
  | 
  |          //build jms message 
  |          MessageProducer sender = session.createSender(requestQueue);
  |          TextMessage txtMsg = session.createTextMessage();
  |          txtMsg.setStringProperty("SoapAction", "\"GetAll\"");
  |          txtMsg.setStringProperty("Mime_Version", "1.0");
  |          txtMsg.setStringProperty("Content_Type", "application/xml; charset=\"utf-8\"");
  |          txtMsg.setText(SoapOverJmsClient.SOAP_REQUEST);
  | 
  |          //set the reply queue
  |          txtMsg.setJMSReplyTo(replyToQueue);
  | 
  |          //send message
  |          sender.send(txtMsg);
  | 
  | 
  |          //use createQueue() to enable receiving from dynamic queues.
  |          QueueReceiver receiver = session.createReceiver(replyToQueue);
  | 
  |          //start the connection to receive from queue
  |          connection.start();
  | 
  |          //read queue messages
  |          javax.jms.Message message = receiver.receive(10000);
  |          if(message != null)
  |             System.out.println("Received message: " + message);
  |          else 
  |             System.out.println("Error while retriving message");
  |          connection.close();
  |       } 
  |       catch(JMSException jmse)
  |       {
  |          jmse.printStackTrace();
  |          System.exit(0);
  |          
  |       }//end catch jmse
  |       
  |    }//end static sendJMS
  |    
  | }//end class SoapOverJmsClient
  | 
  | 

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224776#4224776

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224776



More information about the jboss-user mailing list