MQSeries 适配器已知问题
本部分包含可帮助你避免出现错误的信息。
已知问题
尝试发送或接收消息时,发生访问被拒绝错误
问题
使用 MQSeries 适配器向 MQSeries 服务器发送消息或从 MQSeries 适配器接收消息时,在事件查看器中查看时会发现应用程序日志中记录类似于以下内容的错误消息:
The adapter "MQSeries" raised an error message. Details "The adapter has encountered an 'Access Denied' error while attempting to contact the COM+ object on the MQSeries server. Ensure the BizTalk account is added to the Role on the MQSAgent COM+ application."
The adapter failed to transmit message going to send port "MQS://servername/queuename". It will be retransmitted after the retry interval specified for this Send Port. Details: "The adapter has encountered an 'Access Denied' error while attempting to contact the COM+ object on the MQSeries server. Ensure the BizTalk account is added to the Role on the MQSAgent COM+ application."
注意
在此错误消息中, servername 是服务器的名称, queuename 是队列的名称。
另外,在尝试创建接收位置或发送端口(配置为使用用于 MQSeries 的 BizTalk 适配器)时,可能会在事件查看器中收到以下警告消息:
The adapter "MQSeries" raised an error message. Details "The adapter has encountered an 'Access Denied' error while attempting to contact the COM+ object on the MQSeries server. Ensure the BizTalk account is added to the Role on the MQSAgent COM+ application."
原因
如果出现下述一个或多个情况,则可能发生此问题:
MQSeries 适配器的主机帐户没有 MQSeries 服务器上 MQSAgent COM+ 应用程序必需的权限。
在 Windows 服务器上,MQSeries 适配器的主机帐户不是 MQSeries 服务器上的分布式 COM 用户组的成员。
解决方法
若要解决此问题,请使用以下方法。 如果一种方法不能解决问题,请尝试另一种方法。
方法 1:在 Microsoft Server 上启用网络 COM+ 访问
在 Microsoft Server 上启用网络 COM+ 访问。 有关详细信息,请转到 启用 COM+ 网络访问。
方法 2:配置 MSDTC 设置
按照 MSDTC 问题疑难解答中的设置相应的 MSDTC 安全配置选项中的步骤配置 MSDTC 设置。
方法 3:验证是否已将主机帐户添加到 MQSAgent COM+ 应用程序中的角色
验证是否已将 MQSeries 适配器的主机帐户添加到在 MQSeries 服务器的 MQSAgent COM+ 应用程序中所创建的角色。 可以在组件服务管理控制台界面中进行验证。
方法 4:验证 MQSeries 适配器的主机帐户是否为 Distributed COM Users 组的成员
在 Windows Server 上,检查 MQSeries 适配器的主机帐户的组成员身份。 确保该帐户是安装了 MQSAgent COM + 应用程序的 MQSeries 服务器上的分布式 COM 用户组的成员。
有关 DCOM 安全增强功能的详细信息,请参阅 DCOM 安全增强功能。