public class JMSListener implements MessageListener {
  public void onMessage(javax.jms.Message msg) {
    BytesMessage bytesMsg = null;
    org.apache.axis.Message respMessage = null;
    MessageContext msgContext = null;
    String msgText = null;
    AxisEngine engine = AxisServer.getSingleton();
    msgContext = new MessageContext(engine);
    try {
      if (!msg instanceof BytesMessage) {
        // obsuga bdw
      }
      bytesMsg = (BytesMessage) msg;
      replyQueue = (Queue) (bytesMsg.getJMSReplyTo());
      sender = session.createSender(replyQueue);
      msgTxt = bytesMsg.readUTF();
      org.apache.axis.Message soapMessage = new org.apache.axis.Message(msgTxt);
      msgContext.setRequestMessage(soapMessage);
      msgContext.setTransportName(transportName);
      engine.invoke(msgContext);
      respMessage = msgContext.getResponseMessage();
      String respString = respMessage.getAsString();
      BytesMessage reply = session.createByteMessage();
      reply.writeUTF(respString);
      sender.send(reply);
    } catch (Exception e) {
      // obsuga bdw
    }
  }
}
