MSMQ messages using HTTP just won't get delivered #5

Here's another reason for MSMQ messages to be undelivered over HTTP.

For this customer problem, the network traffic and IIS logs showed that the messages were being correctly POSTed to the web server. The next step should be for the server's MSMQ web application to accept the HTTP traffic and convert it into a native MSMQ message for the local queue manager. As the message never appeared in the queue, the troubleshooting involved looking in the formatted output from the MSMQLOG.BIN.

In this case it could be seen that the user account handling the HTTP traffic had insufficient permissions to contact the MSMQ web application:

[0]da0.2e4 08/15/2007-16:18:39.531 [mqise IsHttps] Info:https request
[0]da0.2e4 08/15/2007-16:18:39.531 [mqise CheckAccessAllowed] Info:the user for the currect request = IUSR_WEBSERVER
[0]da0.2e4 08/15/2007-16:18:39.531 [mqise TraceAuthInfo] Info:AUTH_USER = <NULL>, AUTH_TYPE = <NULL>
[0]da0.2e4 08/15/2007-16:18:39.531 [mqise CheckAccessAllowed] Info:APPL_PHYSICAL_PATH = c:\inetpub\wwwroot\msmq
[0]da0.2e4 08/15/2007-16:18:39.531 [mqise VerifyWritePermission] ERROR:Access was denied, desired access = 0x2, grant access = 0x0
[0]da0.2e4 08/15/2007-16:18:39.531 [mqise HttpExtensionProc] ERROR:user = IUSR_WEBSERVER denied access, bad_win32_error exception, error = 0x5

 {{"currect" - I'm glad these logs are internal-only...}}

The solution was to modify the Access Control List for the directory so that IUSR_WEBSERVER had appropriate access and then messages started to flow properly.