“The underlying connection was closed: An unexpected error occurred on a send” error occurs when trying to call a remote web service via HTTP send port for AS2 processing on BizTalk server 2006 R2

“The underlying connection was closed: An unexpected error occurred on a send” error occurs when trying to call a remote web service via HTTP send port for AS2 processing on BizTalk server 2006 R2

Symptom

When attempting to call a remote web service via HTTP send port for AS2 processing, you may get similar error as following:

Event Source:
BizTalk Server 2006

Event
Category: BizTalk Server 2006

Event ID:
5754

 

Date:
12/01/2014

 

Time: 4:15:26
PM

 

User: N/A

 

Computer:
XX

 

Description:

 

A message
sent to adapter "HTTP" on send port “XX” with URI "XX" is suspended.

 

Error
details: The underlying connection was closed: An unexpected error occurred on a send.

 

Analysis

 

We captured network trace and noticed that destination server returned a Fin package to BizTalk server to terminate the request when BizTalk sent ClientHello, thus the connection
couldn’t be established.

Further research indicated that The Request for Comments (RFC) 5746 recommends sending the Transport Layer Security (TLS)
Renegotiation Indication Extension in the TLS "ClientHello" message. However, in certain cases, sending the TLS extension in the TLS Client ClientHello message can cause a failure on certain kinds of servers that cannot parse the TLS extensions correctly. That is, some certain partners that customer is communicating and sending the message to don’t allow TLS renegotiation.

For example, if you have applied the security patch on client side in this KB article: https://support.microsoft.com/kb/980436 , then you may encounter this connection issue. This security update complies with the standard IETF RFC5746, which would enable sending the
Transport Layer Security (TLS) Renegotiation Indication Extension in the TLS "ClientHello" message.

Solution

  1. Configure the UseScsvForTls registry entry, add a DWORD to the following subkey in the registry on the BizTalk server:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Name: UseScsvForTls

Type: DWORD

Value:1

  1. Reboot the BizTalk server.

Thanks & Regards,

Rachel Huang