如何追踪MSMQ?

发布于 2024-11-06 22:22:47 字数 998 浏览 2 评论 0原文

我在不同的域中有一个代理和一个服务器。服务器充当 MSMQ 服务器,代理充当 MSMQ 客户端。我正在使用 mqsender 实用程序,它是 MSMQ 工具的一部分。

我的问题是,使用 HTTP:// 格式字符串时不会传递消息(MSMQ 安装时支持 HTTP)。使用操作系统:格式字符串工作正常。

使用 HTTP 时,消息会立即移至死信队列,并且类设置为未知,因此我不知道此行为的原因。

所以,这可行:

mqsender.exe /c:10 /j:dead /f:Direct=OS:il-mark-w2k3\private$\test

而这不行:

mqsender.exe /c:10 /j:dead /f:Direct=http://il-mark-w2k3/msmq/private$/test

我检查了 MSMQ 虚拟目录是否存在。如何跟踪 MSMQ 操作以尝试了解发生了什么?

谢谢。

编辑

  1. 在服务器本地运行时,所有命令都按预期工作。
  2. 在代理(和服务器)上的浏览器中导航到 http://il-mark-w2k3/msmq/private$/test 会导致 501 - 标头值指定的方法是未实施。导航到 http://il-mark-w2k3/msmq 时会收到相同的错误。我想这没关系,毕竟它不是 404 - Not Found,对吗?

EDIT2

我已经成功解决了这个问题。 IIS 缺乏匿名身份验证,通过观察其日志可以明显看出 - 401.2 HTTP 错误在那里。启用后一切正常。未解之谜仍然是,为什么 MSMQ 在死消息上显示类 未知?在其他机器上,相同的设置会产生错误:401,这更有意义。

I have an agent and a server in different domains. The server acts as an MSMQ server and the agent acts as an MSMQ client. I am using the mqsender utility, which is part of the MSMQ tools.

My problem is that a message is not delivered when using the HTTP:// format string (the MSMQ is installed with HTTP support). Using the OS: format string works fine.

When using HTTP the messages are immediately moved to the Dead Letter queue and the Class is set to Unknown, so I do not know the reasons for this behaviour.

So, this works:

mqsender.exe /c:10 /j:dead /f:Direct=OS:il-mark-w2k3\private$\test

And this does not:

mqsender.exe /c:10 /j:dead /f:Direct=http://il-mark-w2k3/msmq/private$/test

I checked that MSMQ virtual directory exists. How can I trace the MSMQ operation to try and understand what is going on?

Thanks.

EDIT

  1. All the commands work as expected when ran locally on the server.
  2. Navigating to http://il-mark-w2k3/msmq/private$/test in the browser on the agent (and the server) results in 501 - Header values specify a method that is not implemented. The same error is received when navigating to http://il-mark-w2k3/msmq. I suppose that is OK, after all it is not 404 - Not Found, right?

EDIT2

I have succeeded to resolve the issue. IIS lacked Anonymous Authentication, it became obvious from observing its log - 401.2 HTTP error was there. All worked well after it was enabled. The mistery remains why did MSMQ display Class Unknown on the dead messages? On other machine the same setup produces Error : 401, which makes much more sense.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

楠木可依 2024-11-13 22:22:47

MSMQ 的日志记录是内部的,因此如果不向 Microsoft 提出支持案例,您将无法轻松了解消息未送达的确切原因。

我有一些关于解决各种 MSMQ/HTTP 问题< /a>.
题为“使用 HTTP 的 MSMQ 消息无法传递”的 17 可能会有所帮助。

另请确保检查 IIS 日志以获取信息

干杯

约翰·布瑞克威尔

The logging for MSMQ is internal so you won't easily be able to see exactly why the message didn't get delivered without raising a support case with Microsoft.

I have a few blog posts on solving various MSMQ/HTTP issues.
The 17 entitled "MSMQ messages using HTTP just won't get delivered" may help.

Also make sure you check the IIS logs for information.

Cheers

John Breakwell

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文