通过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
答
好的,所以我想通了。
需要做的是创建一个映射文件。
- C:\ WINDOWS \ SYSTEM32 \ MSMQ \映射
- 创建一个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>
- 确保您重新启动消息服务(开始 - >运行 - > services.msc->信息Queuing->右键点击 - >重启
这对我很有帮助,希望这可以帮助别人顺利下去。
Chud