1
votes

My question relates to this question: MSMQ messages disappear when they get to remote server but the answer did not work for me.

I've also tried all the suggestions mentioned in this post: MSMQ messages disappear from outbound queue but never arrive in the inbound queue but with no luck.

Messages sent from the remote client end up in the dead letter queue with error 400. Messages are logged in the end2end log e.g. Message with ID {38edb6f8-c4a5-4916-9a6f-7e3751b48a47}\12345 was sent to queue DIRECT=https://domain.com/msmq/private$/nont.

On the server side the message reaches IIS (http 200) but after that the message disappears. Nothing is logged in the end2end log and nothing appears in any of the queues. I have created a mapping in the windows/system32/msmq/mapping folder and tried all possible redirect combinations I could think of. I also use full reach/receive acknowledgement and an ACK is returned by the server with the same HTTP 400 error.

I have searched the internet and tried all kinds of possible solutions but nothing resolves the message delivery problem. Could the problem be caused by the fact that our server is an EC2 instance on Aws?

1
On the server side the message reaches IIS - does this mean you are hosting the queue over http via IIS?tom redfern
Hi Tom, yes the MSMQ/HTTP component is installed on the server which sets up the required MSMQ components in IIS, IIS should direct the message to the appropriate queue.Lazza
I think this must be a result of permissions, but I'm only familiar with msmq over tcp so it's possible a different set of permissions are needed for http.tom redfern

1 Answers

0
votes

I've written 17 blog posts on getting MSMQ to work over HTTP.

Hopefully one of them will assist.

MSMQ messages using HTTP just won’t get delivered