SharePoint 2010 User Profile Synchronization Errors
While implementing a new SharePoint 2010 farm, I ran into a number of issues while attempting to get the user profile synchronization to run correctly. I did discover that some additional configuration was needed around the profile synchronization account as I was dealing with a multi-domain forest and the domain NetBios name did not match the FQDN.
Even after verifying that my configuration was correct (as far as SharePoint was concerned), I was still running into issues with the Extensible Connectivity agent (part of FIM) associated with my User Profile Service Application. It would consistently fail, throwing 6801 and 6803 errors in the event log.
Error 6801
The extensible extension returned an unsupported error.The stack trace is:“System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.UriFormatException: Invalid URI: A port was expected because of there is a colon (‘:’) present but the port could not be parsed.at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)at System.Web.HttpRequest.get_Url()at Microsoft.SharePoint.Administration.SPAlternateUrl.get_ContextUri()at Microsoft.SharePoint.WebControls.SPControl.SPSiteFromContextNoCache()at Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context)at Microsoft.SharePoint.SPContext.get_Current()at Microsoft.Office.Server.UserProfiles.ProfileManagerInstance.GetApplicationProxy()at Microsoft.Office.Server.UserProfiles.ProfileImportExportService.GetPartitionIds()— End of inner exception stack trace —at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)at Microsoft.Office.Server.WebServiceDirectProxy.WebMethodInfo.Invoke(Object webServiceInstance, Object[] args)at Microsoft.Office.Server.WebServiceDirectProxy.Invoke(String methodName, Object[] args)at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportDirect.GetPartitionIds()at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.Microsoft.MetadirectoryServices.IMAExtensibleFileImport.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)Forefront Identity Manager 4.0.2450.5″The extensible extension returned an unsupported error. The stack trace is: ”System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.UriFormatException: Invalid URI: A port was expected because of there is a colon (‘:’) present but the port could not be parsed. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) at System.Web.HttpRequest.get_Url() at Microsoft.SharePoint.Administration.SPAlternateUrl.get_ContextUri() at Microsoft.SharePoint.WebControls.SPControl.SPSiteFromContextNoCache() at Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context) at Microsoft.SharePoint.SPContext.get_Current() at Microsoft.Office.Server.UserProfiles.ProfileManagerInstance.GetApplicationProxy() at Microsoft.Office.Server.UserProfiles.ProfileImportExportService.GetPartitionIds() — End of inner exception stack trace — at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Office.Server.WebServiceDirectProxy.WebMethodInfo.Invoke(Object webServiceInstance, Object[] args) at Microsoft.Office.Server.WebServiceDirectProxy.Invoke(String methodName, Object[] args) at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportDirect.GetPartitionIds() at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.Microsoft.MetadirectoryServices.IMAExtensibleFileImport.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)Forefront Identity Manager 4.0.2450.5″
Error 6803
The management agent “MOSS-8e630c0a-434f-4af2-b8fe-a020bd3ef255″ failed on run profile “MOSS_FULLIMPORT_e6294a6e-3dcb-4ac5-86e2-24eddfeaa0e9″ because the server encountered errors.
Opening miisclient (%programfiles%\Microsoft Office Server\14.0\Synchronization Service\UIShell\miisclient.exe) revealed that my Extensible Connectivity agent was failing with a status of stopped-extension-dll-exception (which was confirmed by was visible in the event log).
A bad URI request was being formed somewhere along the way. FIM was expecting a URI formatted with a colon (“:”), which none of my alternate access mappings provided. (Question for the SharePoint product team – Who still runs their applications on non-standard ports?)
Thankfully, the FIM Synchronization Service can be configured manually to tidy these errors up.
- Browse to %programfiles%\Microsoft Office Server\14.0\Synchronization Service\UIShell
- Launch miisclient.exe
- Click the ‘Management Agents’ button in the toolbar to switch to the “Management Agents” pane
- Right click on the Management Agent with the “Extensible Connectivity” type called MOSS-{guid} and select “Properties”
- Click on the “Configure Connection Information” property pane
- At the bottom of the dialog, there should be a “Connection information” section which includes a “Connect To:” text box
- Change the hostname of the URI in this text box to direct://{HOST}:{PORT}…
- Click OK, and close the Synchronization Service Manager (miisclient)
- Start a full import and everything should now work.