AQs
Specific
Installing SharePoint 2013
Please refer to How to Install SharePoint 2013
Batch Encryption
It is possible to use data encryption with the Intermediate Repository. The SP2013 Publisher was tested using EFS.
Troubleshooting
XSL Transformation is missing fields
If you are getting the following error in the AspireBDCService.log
ERROR SearchTechnologies.Aspire.SharePoint.Publisher.AspireDal.DocumentDao System.ArgumentException: An item with the same key has already been added. at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at SearchTechnologies.Aspire.SharePoint.Publisher.AspireDal.DocumentDao.<>c__DisplayClass6.<GetDocuments>b__4(XElement doc) at System.Threading.Tasks.Parallel.<>c__DisplayClass32`2.<PartitionerForEachWorker>b__30() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass11.<ExecuteSelfReplicating>b__10(Object param0)
Solution
It may be that you are missing to fill one of the mandatory fields in the xslt, the mandatory fields are:
- Title
- Author
- Display URL
- Description
They came in the default XSL transformation file File:AspireToSP2013.xml. Please verify these fields are filled in with actual data from your content source. and then retry a Full Crawl.
500 Internal Server Error during failover recovery
After a failover recovery, the server that picks up the crawl may throw an Internal Server Error while trying to communicate with the Notification Endpoint. This may be caused because the previous server failed when the Intermediate Repository folder for the content source was created but the content source and BDC model on the SharePoint 2013 Server were not created. Check the Search Service Application and the BDC Service Application to confirm this.
Solution
In case this is the issue, you can delete the Intermediate Repository folder of the content source and restart the full crawl.
Errors in Notification Service Log
The Notification Service logs are sent to the SP2013 ULS Logs. You can find them by filtering the logs using the "Product" column as "Aspire". ULS Viewer is a great tool for this.
Access denied by Business Data Connectivity
The error message will look like:
Error Deploying Data Model: Microsoft.SharePoint.BusinessData.Parser.PackageFormatException Access denied by Business Data Connectivity. Error was encountered at or just before Line: '0' and Position: '0'. at Microsoft.SharePoint.BusinessData.SharedService.BdcServiceApplicationProxy.Execute[T](String operationName, UInt32 maxRunningTime, ExecuteDelegate`1 operation, Boolean performCanaryCheck, Boolean isChannelThatDelegatesIdentity) at Microsoft.SharePoint.BusinessData.SharedService.BdcServiceApplicationProxy.ImportPackage(String xml, String[]& errors, PackageContents packageContents, AdministrationMetadataCatalogStruct adminStruct, String settingId, Boolean updateModel, Guid jobId) at Microsoft.SharePoint.BusinessData.Administration.AdministrationMetadataCatalog.ImportPackage(String xml, String[]& errors, PackageContents packageContents, String settingId, Boolean updateModel, Guid jobId) at SearchTechnologies.Aspire.SharePoint.Publisher.Notification.AspireNotificationService.DeployBdcModel(String bdcsName, String modelXml, String modelName, String ectName, String ectNamespaceName, String userName) at SearchTechnologies.Aspire.SharePoint.Publisher.Notification.AspireNotificationService.DeployAspireDataModel(String searchAppName, String bdcsName, String aspireBDCUrl, String contentSourceName)
This is caused by the Application Pool user in IIS for the Web Application that has the publisher installed.
Solution
Verify that the Application Pool user is either the same user as the one configured in Aspire for the Notification Service or assign the corresponding roles to the pool user as requested.
The IMetadataObject with Name '<model name>' has a value in Field 'name' that is duplicated
The error message will look like:
The IMetadataObject with Name 'Connections - QA-Model' has a value in Field 'name' that is duplicated. Error was encountered at or just before Line: '2' and Position: '2'.
It is caused by an existing BDC model which hinders the new BDC model from being deployed (during the process of Content Source creation).
Solution
Remove the BDC model and try again.
Errors in SharePoint Crawl Log
Error while crawling LOB contents
If the SharePoint crawl log lists this error
Error while crawling LOB contents. { Error caused by exception: Microsoft.BusinessData.Infrastructure.BdcException The shim execution failed unexpectedly - Access is denied. }
Check the SharePoint log file for this exception:
System.ServiceModel.Security.SecurityAccessDeniedException: Access is denied. Server stack trace: at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter) at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Solution
Make sure that the SharePoint Default Content Access Account is member of the AspireUsers local group. Only members of this group may access the AspireService (which in turn reads the index update files from the share repository folder).
Aspire document ... is not found in content source: ...
Error while crawling LOB contents. { Error caused by exception: Microsoft.BusinessData.Infrastructure.BdcException The shim execution failed unexpectedly - Aspire document with Id: http://.../__C1257CEB00472678.nsf/0/29C41EE3B876653EC1257D090045B72F?OpenDocument is not found in content source: <source name> }
Solution
For every document in the batch.xml (provisioned in the shared repository folder) /batch/doc[@id]
must be equal to /batch/doc/field[@displayUrl]
! Otherwise this error message will appear.