If you specify a different host/host instance for the TwoWayAckReceiveLocation receive port than what is used for the one-way send port, you might see the following errors even if you can enable the location.
Source: BizTalk Server 2009
Task Category: BizTalk Server 2009
Description:
The Messaging Engine failed to add a receive location "TwoWayAckReceiveLocation" with URL "127.0.0.1:65535" to the adapter "MLLP". Reason: "Only one usage of each socket address (protocol/network address/port) is normally permitted".
Source: BizTalk Server 2009
Task Category: BizTalk Server 2009
Description:
The receive location "TwoWayAckReceiveLocation" with URL "127.0.0.1:65535" is shutting down. Details:"The Messaging Engine failed while notifying an adapter of its configuration. ".
If you try to send a message, you will receive the following error messages:
Event ID: 5683
Task Category: BizTalk Server 2009
Level: Error
Description:
The Messaging Engine could not find the receive location for URI:"127.0.0.1:65535".\
Please verify the receive location exists and is enabled.
Event ID: 8451
Task Category: None
Description:
Unable to receive ACK from network due to error "Exception from HRESULT: 0xC0C0164B".
Event ID: 5743
Task Category: BizTalk Server 2009
Description:
The adapter failed to transmit message going to send port "Downstream_SP" with URL "localhost:15000". It will be retransmitted after the retry interval specified for this Send Port. Details:"The InboundTransportLocation is disallowed. This could be because the receive location is disabled or its service window is currently inactive. ".
Resolving the errors
To resolve these errors, you have to use the same host/host instance for the one-way send port and the TwoWayAckReceiveLocation. The reason to do this is that the ACK is received over the same port connection. The send port can filter the ACK out of the BizTalkMsgBoxDB, and this port can then used for a different host/host instance.