Síntomas
En un servidor de SharePoint 2013 o granja de 2016, recibirá el siguiente error ContractFilter después de ejecutar una consulta desde la zona no predeterminados:
An unknown error occurred. ---> System.ServiceModel.ActionNotSupportedException: The message with Action 'http://tempuri.org/ISearchQueryServiceApplication/IsUrlMappingCached' cannot be processed at the receiver, due to a ContractFilter mismatch
at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None). 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]:
Este problema se produce normalmente cuando se consume una aplicación de servicio de búsqueda (SSA) publicada por otro conjunto de servidores (por ejemplo, la aplicación está publicada por la granja A pero consumida por granja B).
Causa
Los servidores tienen versiones incompatibles. El IsURLMappingCached que se utiliza para convertir la dirección URL de los resultados de la búsqueda se modifica entre compilaciones. Experimenta el error ContractFilter si el origen de la consulta y el proxy de búsqueda está en dos servidores que tienen una lógica distinta URLMapper.
Solución
Para corregir este problema, asegúrese de que todos los servidores en las granjas de servidores y entornos tienen la misma compilación. Asegúrese de que todos los servidores tienen la misma actualización acumulativa instalada y que se puede ejecutar la herramienta de línea de comandos Psconfig correctamente.