2016-05-18 2 views
1

Вопрос к этому вопросу задается вопросом: MSMQ messages disappear when they get to remote server, но ответ не сработал для меня.Сообщения MSMQ исчезают, когда они добираются до удаленного сервера # 2

Я также пробовал все предложения, упомянутые в этом сообщении: MSMQ messages disappear from outbound queue but never arrive in the inbound queue, но не повезло.

Сообщения, отправленные с удаленного клиента, заканчиваются в очереди с мертвой буквой с ошибкой 400. Сообщения регистрируются в журнале end2end, например. Сообщение с идентификатором {38edb6f8-c4a5-4916-9a6f-7e3751b48a47} \ 12345 отправлено в очередь DIRECT = https://domain.com/msmq/private $/nont.

На стороне сервера сообщение достигает IIS (http 200), но после этого сообщение исчезает. В журнале end2end ничего не регистрируется, и ни в одной из очередей ничего не появляется. Я создал сопоставление в папке windows/system32/msmq/mapping и пробовал все возможные комбинации переадресаций, о которых я мог думать. Я также использую полное подтверждение получения/получения, и ACK возвращается сервером с той же ошибкой HTTP 400.

Я искал в Интернете и пробовал всевозможные возможные решения, но ничто не устраняет проблему доставки сообщений. Может ли проблема быть вызвана тем, что наш сервер является экземпляром EC2 в Aws?

+0

* На стороне сервера сообщение достигает IIS * - Означает ли это, вы хостинг очереди через HTTP через IIS? –

+0

Привет, Tom, да, компонент MSMQ/HTTP установлен на сервере, который настраивает необходимые компоненты MSMQ в IIS, IIS должен направлять сообщение в соответствующую очередь. – Lazza

+0

Я думаю, что это должно быть результатом разрешений, но я только знаком с msmq над tcp, поэтому для http требуется другой набор разрешений. –

ответ