Поделиться через


Ошибка ContractFilter при запросе из зоны, отличной от зоны по умолчанию в ферме

Симптомы

В ферме SharePoint Server 2013 или 2016 после выполнения запроса из зоны, отличной от стандартной, возникает следующая ошибка ContractFilter:

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]:  

Эта проблема обычно возникает, когда опубликованное приложение служба (SSA) используется другой фермой (например, приложение публикуется фермой A, но потребляется фермой Б).

Причина

Серверы имеют несовместимые сборки. IsURLMappingCached, используемый для преобразования URL-адреса результатов поиска, изменяется между сборками. Ошибка ContractFilter возникает, если источник запроса и поисковый прокси-сервер находятся на двух серверах с разными логиками URLMapper.

Разрешение

Чтобы устранить эту проблему, убедитесь, что и фермы, и все серверы в фермах имеют одинаковую сборку. Убедитесь, что на всех серверах установлены одинаковые накопительные обновления и что средство командной строки Psconfig можно успешно запустить.

Дополнительная информация

Требуется дополнительная помощь? Посетите сайт сообщества SharePoint.