pg2e.blogspot.co.ukの古い投稿からの恥知らずなコピー:
プライベート ネットワークからの HTTP 経由のトランザクション キュー
パブリック IP アドレスのないサーバーから http/s 経由でトランザクション キューにメッセージを送信すると、ACK メッセージが宛先に到達するのに苦労する場合があります。これは、この投稿と同じ原因によるものです
(基本的に NAT を実行すると、メッセージの宛先アドレスが一致しなくなります)。
デフォルトでは、領収書は送信側のコンピューター名に送信されますが、もちろん両方の当事者が同じネットワークに存在しない限り機能しません。これを修正するには、領収書を送信者の公開アドレスにマップする必要があります。これは、次の内容でC:\WINDOWS\system32\msmq\mappingに(任意の名前の) xml ファイルを作成することによって行われます
。
<StreamReceiptSetup xmlns="msmq-streamreceipt-mapping.xml">
<setup>
<LogicalAddress>http://msmq.domain.com/*</LogicalAddress>
<StreamReceiptURL>http://[ADDRESS_TO_SENDER]/msmq/Private$/order_queue$</StreamReceiptURL>
</setup>
<default>http://xxx.xx.xxx.xx/msmq/Private$/order_queue$</default>
</StreamReceiptSetup>
説明: msmq.domain.com の任意のキューに送信されたすべてのメッセージは、特定の StreamReceiptURL に送信された受信確認を持ちます。order_queue$ キューは、トランザクション制御メッセージを処理するために使用されます。
MSMQ または NServiceBus の新しいバージョンでは、XML ファイルを自分で作成しなくても、このキューの作成が自動的に処理されるのではないかと思います。