We created a custom application that uses Content Server's SearchService to perform searches using a specified set of search fields. We are using ResultTransformationSpec to request the regions we want returned in the search results. Everything is working perfectly for most documents we search using this application, but about 10% - 20% of our documents get caught in constuction of the SingleSearchResponse and throw an error.
Error followed by stack trace:
1/5/2015 1:25:30 PM Error loading SingleSearchResponse.Results; Stack Trace:
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)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at DM.Data.CSSS.SearchService.Search(SearchRequest request)
at DM.Data.CSSS.SearchServiceClient.DM.Data.CSSS.SearchService.Search(SearchRequest request) in c:\Users\elderge\Documents\CDM Backend\DM.Data\Service References\CSSS\Reference.cs:line 1344
at DM.Data.CSSS.SearchServiceClient.Search(OTAuthentication& OTAuthentication, SingleSearchRequest queries, String partitionName) in c:\Users\elderge\Documents\CDM Backend\DM.Data\Service References\CSSS\Reference.cs:line 1352
at DM.Data.CSFunctions.DoSearch(SingleSearchRequest queries) in c:\Users\elderge\Documents\CDM Backend\DM.Data\ContentServer\CSFunctions.cs:line 472
This is the SingleSearchRequest we set up to perform the search:
CSSS.SingleSearchRequest query = new CSSS.SingleSearchRequest();
query.DataCollectionSpec = "'LES CDM DMS Vault'"; // Our search slice
query.QueryLanguage = "Livelink Search API V1";
query.FirstResultToRetrieve = 1;
query.NumResultsToRetrieve = 50;
query.ResultOrderSpec = "sortByRegion=Attr_12593716_2&sortDirection=asc";
query.ResultSetSpec = "where1="<Attr_12593716_16>""supplier"&lookFor1=otstarts";
query.ResultTransformationSpec = new string[] { "OTName",
"OTDComment",
"OTDataID",
"Attr_12593716_2",
"Attr_12593716_3",
"Attr_12593716_4",
"Attr_12593606_3",
"Attr_12593716_16",
"Attr_12593716_7",
"Attr_12593716_15",
"Attr_12593606_7"};
The error consistantly happens on the the same documents, but I can't seem to find any one thing that would obviously cause an error. The regions we're asking for do exist in all the documents that have thrown the error and I've tried filling in values for those regions when they were empty, but the exception is still thrown. Does anyone have any ideas?
Thanks,
Glen Elder