У меня есть агент и сервер в разных доменах.Сервер действует как сервер 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, чтобы попытаться понять, что происходит?
Спасибо.
РЕДАКТИРОВАТЬ
- Все команды работаюткак и ожидалось при локальном запуске на сервере.
- Переход к
http://il-mark-w2k3/msmq/private$/test
в браузере на агенте (и на сервере) приводит к 501 - значения заголовка указывают метод, который не реализован ,Та же ошибка получена при переходе на http://il-mark-w2k3/msmq
.Я полагаю, что все в порядке, в конце концов это не 404 - Не найдено , верно?
EDIT2
Мне удалосьрешить проблему.В IIS отсутствовала анонимная аутентификация, это стало очевидно из наблюдения за его журналом - там была ошибка HTTP 401.2.Все работало хорошо после того, как было включено.Загадка остается, почему MSMQ отображал Class Unknown на мертвых сообщениях?На другом компьютере такая же настройка выдает Ошибка: 401 , что имеет гораздо больше смысла.