BizTalk MSMQ适配器:从远程专用队列读取问题

 dmcm0004 发布于 2023-01-07 01:02

我遇到BizTalk中的MSMQ接收位置设置问题.我正在寻找解决方案的想法.非常感谢您在这方面的帮助!

这是设置:

BizTalk Server - Windows Server 2012 - 在域上托管

a)MSMQ接收位置指向远程专用队列

b)BizTalk MSMQ主机实例在域帐户下运行

服务器托管MSMQ - Windows Server 2008 R2 - 不在域上

a)设置私有事务和非事务队列

b)为每个人,匿名者和网络服务用户提供对两个队列的完全控制权c)创建一个影子帐户bthost.instance,使用相同的密码来确定是否能解决问题

以下是我用于解决问题的一些步骤:

    当我在BizTalk中启用接收位置时,我收到一条错误消息,指出"用户没有权限接收消息.请检查队列权限."

    我能够成功发送到MSMQ服务器上托管的队列.但是,MSMQ使用不同的协议进行接收(RPC)和发送(TCP).我相信这解释了这种差异.

    我能够从托管在域上的另一台服务器上的队列中成功接收.我遇到了托管在不在域上的服务器上的队列的问题.

    我已按照以下博文中的说明进行操作.我已确保DTC配置正确,已为消息队列设置了Windows防火墙例外,并从计算机管理的消息队列服务器安全设置中清除了"禁用未经过身份验证的RPC调用"(BizTalk和承载消息队列的服务器上都有) )

    根据以下Technet文章,添加了注册表设置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security\NewRemoteReadServerAllowNoneSecurityClient并将其设置为1

    使用TCP:IP地址和操作系统进行测试:服务器名称约定.**两种约定都会导致上述相同的错误.FORMATNAME:DIRECT = TCP:xxx.xx.x.xx\PRIVATE $\QueueName和FORMATNAME:DIRECT = OS:ServerName\PRIVATE $\QueueName

    我写了一个C#控制台程序来从同一个事务队列中读取.我从BizTalk服务器执行了控制台程序.我注意到我能够使用我的AD凭据从队列中读取.但是,我无法使用BizTalk主机凭据读取.我收到"拒绝访问消息排队系统".

我们可以选择在BizTalk的接收位置设置用户名/密码.我使用了我的域凭据并得到了同样的错误.我的预感是BizTalk主机凭证可能仍然用于启动RPC调用.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有