Microsoft KB Archive/936502

= A message is not received when you use the HTTP protocol to send the message from a Message Queuing client to a Message Queuing 4.0-based server =

Article ID: 936502

Article Last Modified on 5/14/2007

-

APPLIES TO


 * Microsoft Message Queuing 4.0

-





SYMPTOMS
After you enable the Microsoft Message Queuing HTTP Support feature on a Microsoft Message Queuing (also known as MSMQ) 4.0-based server, a message is not received when you send the message from a Message Queuing client to the server. Additionally, you receive an error message on the client.

This problem occurs if the following conditions are true:
 * You send the message to the server by using the HTTP protocol.
 * You enable the Message Queuing HTTP Support feature on the server after you enable the one of the following features:
 * Windows Communication Foundation (WCF) HTTP Activation
 * WCF Non-HTTP Activation
 * The message is sent to a queue on the server.
 * The queue name contains &quot;.svc.&quot;



CAUSE
This problem occurs because handler mappings are created for the request path whose name contains &quot;.svc&quot; when you enable the WCF feature. The handler mappings are in the Internet Information Services (IIS) default Web site. When you enable the Message Queuing HTTP Support feature, the handler mappings are copied to the Message Queuing virtual directory. This behavior occurs before the Message Queuing HTTP handler mappings are created for the Message Queuing virtual directory. Therefore, any Message Queuing HTTP request to a queue whose name contains &quot;.svc&quot; is sent to the WCF handlers instead of to the Message Queuing HTTP handlers.



RESOLUTION
To resolve this problem, use one of the following methods:

Method 1
Enable the Message Queuing HTTP Support feature first, and then enable the WCF feature.

Method 2
If you enable the Message Queuing HTTP Support feature after you enable the WCF feature, delete the handler mappings that are created for the request path whose name contains &quot;.svc.&quot; To do this, run the following command at a command prompt:

&quot; \Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMConfigInstaller.exe&quot; /c:install /f:http

Note By default, the %windir% placeholder maps to the C:\Windows folder. To determine the folder that the %windir% placeholder maps to, run the following command at a command prompt on the server:

echo %windir%

Method 3
Manually delete the handler mappings that are created for the request path whose name contains &quot;.svc.&quot; To do this, follow these steps:
 * 1) Right-click Computer, and then click Manage.
 * 2) Under Computer Management, expand Services and Applications, and then click Internet Information Services.
 * 3) Under Connections, expand the root node of the server that is running IIS, expand Web Sites, expand Default Web Site, and then select the Message Queuing virtual directory.
 * 4) Double-click Handler Mappings.
 * 5) Click any handler mapping that contains &quot;.svc&quot; in the Path column, and then click Remove under Actions.

Keywords: kbexpertiseinter kbtshoot kbprb KB936502

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.