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

If you are having trouble sending transactional messages from a Windows XP client, bear in mind that the format of the Mapping file you have created is going to be different from that used in later operating systems.

The differences are discussed in Message Queuing HTTP Deployment Scenarios for Microsoft® Windows Server™ 2003 and Microsoft® Windows® XP Professional

and I've highlighted the particular content in a table as follows:

Scenario 1: External Client Sending Transactional and Nontransactional Messages to a Hidden Message Queuing Computer Behind a Firewall

Windows XP

<mapping host="localhost" xmlns="msmq-queue-mapping.xml">
<queue>
<name>https://OrderServer/msmq/private$/orderq</name>
<alias>https://www.northwindtraders.com/msmq/orderq</alias>
</queue>

Windows 2003 and above 

<redirections xmlns="msmq-queue-redirections.xml">
 <redirection>
  <from>https://www.northwindtraders.com/msmq/orderq</from>
  <to>https://OrderServer/msmq/private$/orderq</to>
 </redirection>
</redirections>

 

Scenario 3: Internal Client Sending a Transactional Message to the System Outside the Firewall

Windows XP

<mapping host="localhost" xmlns="msmq-queue-mapping.xml">
<queue>
<name>https://OrderServer/msmq/private$/order_queue$</name>
<alias>https://www.northwindtraders.com/msmq/orderack</alias>
</queue> 

Windows 2003 and above

<StreamReceiptSetup xmlns="msmq-streamreceipt-mapping.xml">
<setup>
<LogicalAddress>https://172.31.201.101/msmq/private$/httpqt</LogicalAddress>
<StreamReceiptURL>https://www.northwindtraders.com/msmq/OrderServer</StreamReceiptURL>
 </setup>
</StreamReceiptSetup>