0

我正在开发一个托管在 JBoss 4.2.3 服务器内的 Web 服务解决方案(如下所示),并且我的代码连接到远程 JMS 队列帽托管在另一台服务器上(192.168.35.25)

 public static Context getInitialContext () throws JMSException,NamingException
    {
        Properties prop = new Properties();
        prop.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
        prop.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
        prop.setProperty("java.naming.provider.url", "192.168.35.20:1099");
        Context context = new InitialContext(prop);

        return context;

}

 public String SendMessages(String msg) throws ServletException, IOException, URISyntaxException {
    String body="";
    try
    {

        Context init =ClsSat.getInitialContext();
        javax.jms.Queue destination = (javax.jms.Queue) init.lookup("Queue/RemoteQueue");

          ConnectionFactory connectionFactory =   (ConnectionFactory) init.lookup("ConnectionFactory");
          Connection connection = connectionFactory.createConnection("un","pwd");//
          Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

;

          MessageProducer producer = session.createProducer(destination);


          TextMessage message = session.createTextMessage();
          message.setText(msg);

          connection.start();

          producer.send(message);
          body = message.getText();


          session.close();
          connection.close();

      } 
    catch (Exception e)
      {
          return(e.toString());
      }

return body    ;

}

但是我遇到了一个错误... RemoteQueue 未绑定,因此任何人都对连接到远程队列抛出 Web 服务或任何有关从本地计算机上托管的 Web 服务连接到远程计算机上的远程队列的文档有任何想法或帮助

4

1 回答 1

0

可能是因为您的 getInitialContext() 中的 IP 地址错误,请检查是否可以提供更多详细信息。

于 2013-04-01T07:03:11.613 回答