Tag Archives: MOSS 2007

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)

MOSS 2007 Workflow: An error has occured in Approval

If you create a custom approval workflow in a document library and select this option on the customize workflow screen:
[x] Update the approval status (use this workflow to control content approval)

SharePoint maybe report the following error:

“An error has occured in Approval.”

The solution for this problem is very simple, if you want your workflow to update approval status you need to enable content approval in your document library. To enable content approval here is what you need to do:

Go to your document library Settings > Versioning Settings and select ,Yes” for: “Require content approval for submitted items?” option.

SharePoint Designer & User information List Metadata in a Workflow

I was building a workflow in SharePoint Designer and sometimes you need some metadata, for extra information or for an e-mail, from a SharePoint user. The problem is SharePoint Designer returns only the username and you cannot do a lookup for the the rest of the metadata from that user.

This is a  list out the metadata available in the “User Information List“, with the Paul Kotlyar’s “Lookup User Info” custom SharePoint Designer workflow activity you can use all off these fields in your workflow. Download the solution from CodePlex Don’t forget to put this line in the web.config:

authorizedType Assembly=”DP.Sharepoint.Workflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0298457208daed83″ Namespace=”DP.Sharepoint.Workflow” TypeName=”*” Authorized=”True” /

The “User Information List“ is available with administrator rights under: _catalogs/users/simple.aspx

Display Name Type Name
Content Type ID ContentTypeId ContentTypeId
Name Text Title
Approver Comments Note _ModerationComments
File Type Text File_x0020_Type
Account Text Name
E-Mail Text EMail
About Me Note Notes
SIP Address Text SipAddress
Locale Integer Locale
Calendar Type Integer CalendarType
AdjustHijriDays Integer AdjustHijriDays
TimeZone Integer TimeZone
Time Format Boolean Time24
Alternate Calendar Type Integer AltCalendarType
CalendarView Options Integer CalendarViewOptions
WorkDays Integer WorkDays
WorkDay StartHour Integer WorkDayStartHour
WorkDay EndHour Integer WorkDayEndHour
Is Site Admin Boolean IsSiteAdmin
Deleted Boolean Deleted
Picture URL Picture
Department Text Department
Job Title Text JobTitle
Is Active Boolean IsActive
Report To User Report_x0020_To
ID Counter ID
Content Type Text ContentType
Modified DateTime Modified
Created DateTime Created
Created By User Author
Modified By User Editor
Has Copy Destinations Boolean _HasCopyDestinations
Copy Source Text _CopySource
owshiddenversion Integer owshiddenversion
Workflow Version Integer WorkflowVersion
UI Version Integer _UIVersion
Version Text _UIVersionString
Attachments Attachments Attachments
Approval Status ModStat _ModerationStatus
Edit Computed Edit
Name Computed LinkTitleNoMenu
Title Computed LinkTitle
Select Computed SelectTitle
Instance ID Integer InstanceID
Order Number Order
GUID Guid GUID
Workflow Instance ID Guid WorkflowInstanceID
URL Path Lookup FileRef
Path Lookup FileDirRef
Modified Lookup Last_x0020_Modified
Created Lookup Created_x0020_Date
Item Type Lookup FSObjType
Effective Permissions Mask Computed PermMask
Name File FileLeafRef
Unique Id Lookup UniqueId
ProgId Lookup ProgId
ScopeId Lookup ScopeId
HTML File Type Computed HTML_x0020_File_x0020_Type
Edit Menu Table Start Computed _EditMenuTableStart
Edit Menu Table End Computed _EditMenuTableEnd
Name Computed LinkFilenameNoMenu
Name Computed LinkFilename
Type Computed DocIcon
Server Relative URL Computed ServerUrl
Encoded Absolute URL Computed EncodedAbsUrl
File Name Computed BaseName
Property Bag Lookup MetaInfo
Level Integer _Level
Is Current Version Boolean _IsCurrentVersion
Group Computed GroupLink
Edit Computed GroupEdit
Name Computed ImnName
Picture Computed PictureDisp
Name Computed NameWithPicture
Name Computed NameWithPictureAndDetails
Edit Computed EditUser
Selection Checkbox Computed UserSelection
Content Type Computed ContentTypeDisp

Tuning MOSS 2007 Peoplepicker if responstime is Unacceptable.

I used the following two stsadm commands to improve the performance of the MOSS 2007 peoplepicker:

  • Specify the domains to query:

    stsadm -o setsiteuseraccountdirectorypath -path “OU=DOMAIN,DC=internet,DC=ext,DC=com” -url http://mywebapplication/

 

  • To query only on the AD fields: userPrincipalName, sAMAccountName and displayname:

    stsadm.exe -o setproperty -pn peoplepicker-searchadcustomquery -pv (userPrincipalName={0})(sAMAccountName={0})(sn={0})(displayName={0}) -url http://mywebapplication/

 

Proxy error RSS feeds MOSS 2007

If you use the RSS feeds webpart for a internet feed in MOSS 2007 and your farm uses a proxy server you will recieve this error:

ProtocolError occured trying to complete the request. The server returned a status code of : ProxyAuthenticationRequired and the status description is : “Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )”

There are two setting that you must change to get the RSS feeds working:

    1. add this rule to the web.config file of the web application:
  1. add the server IP address to the ISA rule list

Configure MOSS 2007 Site Usage Reports

Steps to Configure Site Usage Reporting

1. Enable Usage Logging in Central Administration
A. On the Central Administration home page, click Operations.
B. On the Operations page, in the Logging and Reporting section, click Usage analysis processing.
C. On the Usage Analysis Processing page, in the Logging Settings section, select Enable logging.
D. Type a log file location and number of log files to create.
E. In the Processing Settings section, select Enable usage analysis processing, and then select a time to run usage processing.

2. Enable Usage Reporting on SSP Admin Page
A. On the SSP home page, in the Portal Usage Reporting section, click Usage reporting.
B. On the Configure Advanced Usage Analysis Processing page, in the Processing Settings section, click Enable advanced usage analysis processing.
C. In the Search Query Logging section, select Enable search query logging.

3. Activate the Reporting Feature for the Site Collection
A. On the Site Actions menu, click Site Settings.
B. On the Site Settings page, in the Site Collection Administration section, click Site collection features.
C. On the Site Collection Features page, click the Activate button for the Reporting feature.

After site usage reporting is enabled the site administrators and site collection administrators will be able to view reports detailing:

* Requests and queries in the last day and the last 30 days
* Average number of requests per day over the last 30 days
* Requests per day over the last 30 days
* Top page requests over the last 30 days
* Top users over the last 30 days
* Top referring hosts over the last 30 days
* Top referring pages over the last 30 days
* Top destination pages over the last 30 days
* Top search queries for the last 30 days
* Search results top destination pages
* Number of search queries per day over the previous 30 days
* Number of search queries per month over the previous 12 months
* Top search queries over the previous 30 days
* Search Queries per search scope over the previous 30 days

Site collection administrators will be able to view reports detailing:

* Total amount of storage used by the site collection
* Percent of storage space used by Web Discussions
* Maximum storage space allowed
* Number of users for all sites in the hierarchy
* Total hits and recent bandwidth usage across all sites