public class JMSSender extends BasicHandler {
  private void sendMessage(MessageContext msgContext, String messageTxt) throws AxisFault {
    BytesMessage msg;
    try {
      queueConnection = queueFactory.createQueueConnection();
      queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
      queueSender = queueSession.createSender(queue);
      msg = queueSession.createBytesMessage();
      msg.writeUTF(messageTxt);
      TemporaryQueue replyTo = queueSession.createTemporaryQueue();
      msg.setJMSReplyTo(replyTo);
      queueSender.send(msg);
      queueConnection.start();
      QueueReceiver receiver = queueSession.createReceiver(replyTo);
      javax.jms.Message replyMsg = receiver.receive();
      if (replyMsg instanceof BytesMessage) {
        String replyTxt - ((BytesMessage) replyMsg).readUTF();
        org.apache.axis.Message respMsg = new org.apache.axis.Message(replyTxt);
        msgContext.setResponseMessage(respMsg);
      }
      closeConnection();
    } catch (JMSException e) {
      throw new AxisFault("JMSSender.sendMessage", "JMSException: " + e, null, null);
    }
  }
  ..
}
