Forefront Identity Management SharePoint Profile Store Connector Export Error:  Value cannot be null. Parameter name: strAccountName

I am using Forefront Identity Manager 2010 R2.  We have installed the Microsoft SharePoint Profile Store connector and have setup up attribute flow to my SharePoint Server.  We have disconnected and disabled the Native FIM Sharepoint Profile Connector that is deployed by SharePoint (This is my SharePoint DEV environment).

I followed this Documentation: https://msdn.microsoft.com/en-us/library/Dn511003%28v=WS.10%29.aspx

I used input from: http://goodworkaround.com/node/70

I am pushing all the standard attributes such with no Custom Attributes on the SharePoint side.

Data flow is one direction from my FIM Installation to Sharepoint. We do not have any flows from SharePoint to FIM.

I have exported several thousand user objects to SharePoint with Success, photographs included.  User profiles are working and successful.

After a few days of letting the synchronization bake, I am finding that Updates to user objects are failing on Export to SharePoint with the following error (taken from the MA error message):

Export retry FAILED for Entry[ObjectType: user, Anchor: DOMAIN_USER1234__fa631765-12b1-4da1-879-2dcfd6a7afae]..
 Error: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Value cannot be null.
Parameter name: strAccountName
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.IdentityManagement.Connector.Sharepoint.SharePointProfileImportExportService.ProfileImportExportService.UpdateWithProfileChangeData(Int64 importExportId, ProfileChangeData[] profileChangeData)
   at Microsoft.IdentityManagement.Connector.Sharepoint.SharepointServiceProvider.UpdateWithProfileChangeData(Int64 importExportId, ProfileChangeData[] profileChangeData)
   at Microsoft.IdentityManagement.Connector.Sharepoint.SharepointConnector.PutExportEntries(IList`1 csEntries)

I have verified that the AccountName is not blank as this error suggests.

The XML of the update request (As pulled from a network trace):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <UpdateWithProfileChangeData xmlns="http://microsoft.com/webservices/SharePointPortalServer/ProfileImportExportService">
            <importExportId>104</importExportId>
            <profileChangeData>
                <ProfileChangeData>
                    <ProfileIdentifier />
                    <DistinguishedName>DOMAIN_USER12345__8ce5dfd2-0b49-40fb-8b56-7a2b740256cb</DistinguishedName>
                    <ObjectGuid>00000000-0000-0000-0000-000000000000</ObjectGuid>
                    <ObjectClass>user</ObjectClass>
                    <PropertyChanges>
                        <PropertyChangeData>
                            <Name>LastName</Name>
                            <ChangeType>Modify</ChangeType>
                            <Values>
                                <anyType xsi:type="xsd:string">Smith</anyType>
                            </Values>
                        </PropertyChangeData>
                        <PropertyChangeData>
                            <Name>WorkEmail</Name>
                            <ChangeType>Modify</ChangeType>
                            <Values>
                                <anyType xsi:type="xsd:string">SSMith@domain.com</anyType>
                            </Values>
                        </PropertyChangeData>
                    </PropertyChanges>
                    <ChangeType>Modify</ChangeType>
                </ProfileChangeData>
            </profileChangeData>
        </UpdateWithProfileChangeData>
    </soap:Body>
</soap:Envelope>

The SharePoint server response:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:Server</faultcode>
            <faultstring>Server was unable to process request. ---&gt; Value cannot be null.

Parameter name: strAccountName</faultstring>
            <detail />
        </soap:Fault>
    </soap:Body>
</soap:Envelope>

I can delete the profile in SharePoint and after a full sync the profile will be there with the updated data.

Any thoughts on why SharePoint would be rejecting this update.



July 31st, 2015 10:13pm

Hello All.  Since I have not gotten any ideas I will provide some more information.  Below is the Synchronization rule flows.

Metaverse Attribute Data Source Attribute
Initial Outbound Attribute Flows
Allow Nulls Destination Source
false dn CustomExpression(ConvertSidToString(objectSid))
false Anchor CustomExpression(ConvertSidToString(objectSid))
Persistent Outbound Attribute Flows
Allow Nulls Destination Source
false ProfileIdentifier CustomExpression(+("DOMAIN\",accountName))
true PreferredName displayName
true WorkEmail email
true FirstName firstName
true LastName lastName
true Office LocationDescription
false domain Constant: TEC
true Picture photo
false SPS-ClaimProviderID Constant: Windows
false SPS-ClaimProviderType Constant: Windows
false UserName accountName
false SID objectSid
true WorkPhone Trim(tecPhoneExt_Primary)
false Manager manager
false Department DepartmentDescription
false SPS-DistinguishedName DistinguishedName
false SPS-JobTitle JobCodeDescription
false SPS-Location OfficeCity_Primary

I am not actually flowing the AccountName.  I get the same error when I do flow the account name, though some documentation states this is not necessary.

Free Windows Admin Tool Kit Click here and download it now
August 6th, 2015 1:39pm

1. Seems like you are using User Profile Services in SP, which in islelf is a FIM, but not quite as you describe it.

2. The error is asking you to populate the accountName, bc that is a required attribute.  The fact that your error appears even after you add it, is because then you need to perform a full synchronization. 

Whenever you make a schema change, you need a full import synchronization. (In FIM full import - full synchronization). In UPS  I believe it is called Full Synchronization and includes all necessary steps.

 
August 6th, 2015 1:48pm

Thank you.

To clarify my setup as I may have not been clear.

I am able to remove the profiles and then re-provision the profiles via FIM without incident.  The error I am receiving is during an update from the MetaVerse to SharePoint. When someone changes their Phone Number or moves Departments for example.

I am using a full-blown FIM implementation.  The FIM Synchronization server on the SharePoint Sever is disabled per the instruction documentation.

In troubleshooting this, I am sending the same attributes that the FIM Synchronization Service provided my SharePoint are, which does not include the AccountName attribute.

Free Windows Admin Tool Kit Click here and download it now
August 6th, 2015 2:00pm

Can you add AccountName and run a full cycle.

August 6th, 2015 3:02pm

Thank your for your suggestion, I really appreciate your assistance.

I just went to add AccountName and it turns out I had added it yesterday.  We did a full import - full sync of all our connected sources this morning.  I just re-ran the SharePoint full import - full sync for the SharePoint MA and received exact same error on the export for 2 user objects.  On object is changing an address while the other is a department move.

I was hoping it was this simple.

Free Windows Admin Tool Kit Click here and download it now
August 6th, 2015 3:55pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics