SharePoint eDiscovery Export Download Fails with Error

Symptom

Downloading results from a SharePoint site query fails partly through the export with the following error: "The content can no longer be saved to the export location. Please ensure that it is available and has sufficient space."

Cause

This problem was caused by an authentication context switch when attempting to download an InfoPath Form. In this case the Download Manager (ddmanager.exe) needed a different set of credentials, when downloading the form XML file and failed during the process.

Below is the data that demonstrates this issue.

The following is from Fiddler that displays a GET request for file "Mobile%20Phone.xml", then a 302 redirect to the FormServer location.

 #      Result Protocol     Host   URL    Body   Caching       Content-Type Process       Comments       Custom 
 
3188   302    HTTPS  portal.contoso.com      /sites/it/DeviceElectionForm/Mobile%20Phone.xml     268           text/html; charset=UTF-8   ddmanager:16176     [#3421]
3189   302    HTTPS  portal.contoso.com      /sites/it/_layouts/15/FormServer.aspx?XmlLocation=/sites/it/MyCustomForm/Mobile%20Phone.xml  230                  ddmanager:16176     [#3422]

3190   200    HTTPS  portal.contoso.com      /sites/it/_layouts/FormServer.aspx?XmlLocation=/sites/it/MyCustomForm/Mobile%20Phone.xml  52,702 private       text/html; charset=utf-8   ddmanager:16176     [#3423]   

3192   401    HTTPS  portal.contoso.com       /docs/eDiscovery/Contoso/_vti_bin/client.svc/ProcessQuery 16            text/plain; charset=utf-8 ddmanager:16176     [#3425]         

3194   200    HTTPS  portal.contoso.com       /docs/eDiscovery/Contoso/_vti_bin/client.svc/ProcessQuery 156    private       application/json; charset=utf-8  ddmanager:16176     [#3427]

As a result of connecting to the Form Server, a new authentication attempt was made to the InfoPath Service and a new cookie was set.

Example:

 Set-Cookie: _InfoPath_Sentinel=1; path=/
 
Set-Cookie: _InfoPath_CanaryValueAGDGY5QQJELPCRVKY7AHEL2ZDV4S6L3TNF2GK4ZPNF2C6RDFOZUWGZKFNRSWG5DJN5XEM33SNUXUM33SNVZS65DFNVYGYYLUMUXHQ43OFJSEYZSWPFYTOM3FNQ4GQ3LDMJDDMU3UJZUFQ5CXMVYHOZSWMRIDKNJWIZKGYUCZMZTHO=izP1+walR/Pot5rgHGhAPaAT+7JmPc9SmDxul0xB28j/drucVscDCx9/bLapjqriSIvb32vU9RJjvk6Ag+Gygw==|636299581752872813; path=/; secure; HttpOnly

SPRequestGuid: dd10f09d-2889-005f-7c5c-36f217b4f7ba

After this occurred, the Process Query failed with a 401, authentication was required, and the Download Manager subsequently stopped with error, "The Content can no longer be saved to the export location. Please ensure that it is available and has sufficient space".

As a result of this failure, inside this InfoPath Form, we are handling an error stating that cross-domain access is required to use this Form.

Example:

 function UserAgentInfo() {} UserAgentInfo.strBrowser = 0;UserAgentInfo.strBrowserType = 0;UserAgentInfo.intBrowserRmj = 0;var g_objHasFormPostedBack_FormControl=false;var g_objCurrentFormData_FormControl = [[[4,"An error occurred querying a data source.","An error occurred while trying to connect to a Web service.","5566","dd10f09d-2889-005f-7c5c-36f217b4f7ba"],[4,"An error occurred querying a data source.","An error occurred while trying to connect to a Web service.","5566","dd10f09d-2889-005f-7c5c-36f217b4f7ba"],[4,"An error occurred querying a data source.","A query to retrieve form data cannot be completed because this action would violate cross-domain restrictions.\r\n\r\nIf this form template is published to a SharePoint document library, cross-domain access for user form templates must be enabled under InfoPath Forms Services in SharePoint Central Administration, and the data connection settings must be stored in a UDC file in a data connection library in the same site collection.\r\n\r\nIf this is an administrator-approved form template, the security level of the form must be set to full trust, or the data connection settings must be stored in a UDC file by using the Manage data connection files option under InfoPath Forms Services in SharePoint Central Administration.","6932","dd10f09d-2889-005f-7c5c-36f217b4f7ba"]]

As stated this is error handling in the form, but does hint that a different authentication policy is required.

With that said, we found the following error inside the download manager error log.

 <?xml version="1.0" encoding="UTF-8"?>
 <Errors xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
 <ErrorRecord>
 <Source>
 <Id>https://portal.contoso.com</Id>
 <Name>DakInfo</Name>
 <ServerSourceId>1</ServerSourceId>
 <SourceFilter>((((Author:"John Doe" OR Author:"Jane Doe" OR CreatedBy:"John Doe" OR CreatedBy:"Jane Doe" OR "John Doe" OR "Jane Doe"))) AND Path:"https://portal.contoso.com")</SourceFilter>
 <Type>SharePoint</Type>
 <Custodians/>
 </Source>
 <Errors>
 <Error>
 <Time>2017-05-09T15:12:06.2524869-05:00</Time>
 <Step>Prepare</Step>
 <ErrorType>UnableToRetrieveSearchFaults</ErrorType>
 <DiagnosticMessage>Attempted to perform an unauthorized operation.</DiagnosticMessage>
 </Error>
</Errors>
</ErrorRecord>
</Errors>

Resolution

To workaround this issue, we excluded the connection to the FormServer from Download Manager by adding new SourceFilter within the Download Manager Configuration.

Example:

 ((((Author:"John Doe" OR Author:"Jane Doe" OR CreatedBy:"John Doe" OR CreatedBy:"Jane Doe" OR "John Doe" OR "Jane Doe"))) AND (Path:https://portal.contoso.com
 AND Path NOT "https://portal.contoso.com/sites/it/MyCustomForm*")

More Information

eDiscovery in SharePoint https://dev.office.com/sharepoint/docs/general-development/ediscovery-in-sharepoint