Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer's Guide

- Previous: To send SOAP messages using the JMS API
- Next: Chapter 15 Using the JavaMail API

## To receive SOAP messages using the JMS API

1. Import the `MessageTransformer` library.

       import com.sun.messaging.xml.MessageTransformer;

   This is the utility whose methods you use to convert SOAP messages to JMS messages and the reverse. The JMS message containing the SOAP payload is received as if it were a normal JMS message.

2. Initialize the `TopicConnectionFactory`, `TopicConnection`, `TopicSession`, `TopicSubscriber`, and `Topic`.

       messageFactory = MessageFactory.newInstance();
       tcf = new com.sun.messaging.TopicConnectionFactory();
       tc = tcf.createTopicConnection();
       session = tc.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
       topic = session.createTopic(topicName);
       subscriber = session.createSubscriber(topic);
       subscriber.setMessageListener(this);
       tc.start();

3. Use the `OnMessage` method to receive the message. Use the `SOAPMessageFromJMSMessage` method to convert the JMS message to a SOAP message.

       public void onMessage (Message message) {
       SOAPMessage soapMessage =
        MessageTransformer.SOAPMessageFromJMSMessage( message,
        messageFactory ); }

4. Retrieve the content of the SOAP message.

- Previous: To send SOAP messages using the JMS API
- Next: Chapter 15 Using the JavaMail API

- © 2010, Oracle Corporation and/or its affiliates