Search Error: Authentication failed because the remote party has closed the transport stream

A few days ago the following errors startud to show up in one off the WFE servers from a SharePoint farm:

Failed to obtain crawl status. —> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. —> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.

Job 'Distribution List Import Job' failed. It will be re-tried again in 120 second(s). 

Reason: Failed to obtain crawl status.

Techinal Details:
Microsoft.Office.Server.UserProfiles.UserProfileException: Failed to obtain crawl status. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
   at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.ConnectStream.WriteHeaders(Boolean async)
   --- End of inner exception stack trace ---
   at Microsoft.Office.Server.Search.Administration.SearchApi.RunOnServer[T](CodeToRun`1 remoteCode, CodeToRun`1 localCode, Boolean useCurrentSecurityContext, Int32 versionIn)
   at Microsoft.Office.Server.Search.Administration.SearchApi..ctor(WellKnownSearchCatalogs catalog, SearchSharedApplication application)
   at Microsoft.Office.Server.Search.Administration.SearchSharedApplication.get_SearchApi()
   at Microsoft.Office.Server.UserProfiles.SRPSite.IsImportInProgress(String contentSourceName)
   --- End of inner exception stack trace ---
   at Microsoft.Office.Server.UserProfiles.SRPSite.IsImportInProgress(String contentSourceName)
   at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.IsProfileImportInProgress()
   at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.IsImportInProgress()
   at Microsoft.Office.Server.UserProfiles.DLImportJob.Execute()
   at Microsoft.Office.Server.Administration.JobHandler.Execute(Object state)

The search settings page communicates with the index server using the SearchAdmin.asmx web service (Office Server Web Services) on the index server, and it does this over SSL.

To solve this issue I used the following two steps:

1. Install the IIS 6.0 Resource Kit on the index/application server (http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en)
2. Assign a new SSL certificate  to theOffice Server Web Services site on the index server using the selfssl tool from the resource kit.

Maybe you will need to sync your contentdatabases again.

Job ‘Distribution List Import Job’ failed. It will be re-tried again in 120 second(s).

Reason: Failed to obtain crawl status.

Techinal Details:

Microsoft.Office.Server.UserProfiles.UserProfileException: Failed to obtain crawl status. —> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. —> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.

at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)

at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)

at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)

at System.Net.ConnectStream.WriteHeaders(Boolean async)

— End of inner exception stack trace —

at Microsoft.Office.Server.Search.Administration.SearchApi.RunOnServer[T](CodeToRun`1 remoteCode, CodeToRun`1 localCode, Boolean useCurrentSecurityContext, Int32 versionIn)

at Microsoft.Office.Server.Search.Administration.SearchApi..ctor(WellKnownSearchCatalogs catalog, SearchSharedApplication application)

at Microsoft.Office.Server.Search.Administration.SearchSharedApplication.get_SearchApi()

at Microsoft.Office.Server.UserProfiles.SRPSite.IsImportInProgress(String contentSourceName)

— End of inner exception stack trace —

at Microsoft.Office.Server.UserProfiles.SRPSite.IsImportInProgress(String contentSourceName)

at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.IsProfileImportInProgress()

at Microsoft.Office.Server.UserProfiles.UserProfileConfigManager.IsImportInProgress()

at Microsoft.Office.Server.UserProfiles.DLImportJob.Execute()

at Microsoft.Office.Server.Administration.JobHandler.Execute(Object state)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>