通过HTTP(广域网)MSMQ

问题描述:

我试图通过互联网,使用MSMQ(通过HTTP)从一台机器发送到另一台的消息。通过HTTP(广域网)MSMQ

我已启用所有正确的位和片段,据我所知,通过添加功能和角色。

MSMQ Over HTTP也包括在内。

我已经建立了自己的小c#应用程序。

我的队列中的格式:

FORMATNAME:直接= $/testqueue(所以IP - 不是FQDN)

当我尝试发送一条消息,该消息从来没有击中目标队列。

当我RDP'd成需要接收邮件的服务器,并使用来自同一应用程序如下:

FORMATNAME:DIRECT = $/testqueue

它的工作原理!

我添加了额外的权限(每个人/匿名登录/网络服务) - 完全控制,无济于事。

80港口是开放的 - 我相信这是唯一需要的港口。

我也试过这个在我的windows开发框中,作为隔离测试的一种形式,而且还是一样的东西!本地主机没有问题,按预期添加到队列中,但是一旦我添加WAN IP,什么都不会发生。

所有未发送的消息只是开始填写指出没有成功的传出消息。

SO'ers please help - 需要额外的端口?更多权限?期待您的帮助!

Chud

好的,所以我想通了。

需要做的是创建一个映射文件。

  1. C:\ WINDOWS \ SYSTEM32 \ MSMQ \映射
  2. 创建一个XML文件(可以将其命名任何你喜欢)

以下内容添加到该文件。

<redirections xmlns="msmq-queue-redirections.xml"> 
    <redirection> 
     <from>http://servername-OR-IP/MSMQ/private$/testqueue</from> 
     <to>http://localhost/MSMQ/private$/testqueue</to> 
    </redirection> 
</redirections> 
  1. 确保您重新启动消息服务(开始 - >运行 - > services.msc->信息Queuing->右键点击 - >重启
  2. 这对我很有帮助,希望这可以帮助别人顺利下去。

    Chud

开始=>