Large messages that are sent over an HTTP session may not leave the outgoing queue (883474)



The information in this article applies to:

  • Microsoft Message Queuing 3.0

Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

When you send a large Microsoft Message Queuing message over a Hypertext Transfer Protocol (HTTP) session, the large message may not leave the outgoing queue.

CAUSE

By default, the connection setting in Message Queuing does not provide the time that is required to transmit the data. Therefore, the HTTP session quits before the large message is transmitted.

WORKAROUND

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

To work around this problem, add a DWORD value to the registry. To do this, follow these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. In Registry Editor, locate the following registry key. Click the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
  3. On the Edit menu, point to New, and then click DWORD Value.
  4. In the right pane of Registry Editor, replace the selected text with HttpResponseTimeout under Name, and then press ENTER.
  5. On the Edit menu, click Modify.

    The Edit DWORD Value dialog box appears.
  6. In the Value box, replace the existing text with Required Time, and then click OK.

    Note The Required Time placeholder is a placeholder for the value of the time that is required to transmit the message from the source computer to the destination computer.

    For example, to transfer a 4-megabyte (MB) message over Integrated Services Digital Network (ISDN), the DWORD value must be set to 1000000. You can calculate the DWORD value as follows:
    1. A 4-MB message is approximately 32000000 bits.
    2. The effective transmission rate of an ISDN line is approximately 32000 bits per seconds.
    3. Therefore, the DWORD value must be set to 1000000 because 1,000,000 milliseconds are required for the message to travel over the network.
  7. On the Registry menu, click Exit.

MORE INFORMATION

Steps to reproduce the problem

  1. Send a message of approximately 4 MB over a slow link.
  2. Specify the following:

    direct=http<queue path>

    Note The placeholder <queue path> is the placeholder for the path of a queue.

    Notice that the large message may not leave the outgoing queue.

REFERENCES


For additional information, visit the following Microsoft Web sites:

HTTP messagesMicrosoft Message Queuing (MSMQ) Center

Modification Type:MajorLast Reviewed:2/9/2006
Keywords:kbhttp kbRegistry kbtshoot kbprb KB883474 kbAudDeveloper