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


Содержимое SharePoint Online не отображается в локальном поиске SharePoint

Проблема

Рассмотрим следующий сценарий.

  • Вы настраиваете исходящий гибридный поиск для возврата результатов из SharePoint Online в локальной среде SharePoint 2013.

  • Когда пользователь выполняет запрос с локального сайта SharePoint 2013, отображаются только результаты из локальной среды SharePoint 2013. Результаты из SharePoint Online не возвращаются.

  • Администратор изменяет правило запроса, связанное с источниками результатов. Затем администратор открывает построитель запросов из блока результатов. Однако это приводит к следующей ошибке:

    1 3/4 System.Net.WebException: запрос прерван: запрос был отменен. -->Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2ErrorResponseException: удаленный сервер вернул ошибку: (404) Не найдено. в Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsurl, OAuth2AccessTokenRequest message) в Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.RequestOAuthToken(Uri stsUrl. Запрос OAuth2AccessTokenRequest) в stslnfo, OAuth2EndpointIdentity endpointldentity) в Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.GetRawBearerTokenToken(String nameldentifier, SPSecurityTokenServiceConnectionInformation stslnfo.

Кроме того, в журнале единой службы ведения журнала (ULS) регистрируется следующее исключение:

An exception occurred during OAuth2 request to <url specific to your site>
The remote server returned an error: (404) Not Found.
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsUrl,
OAuth2AccessTokenRequest message)

Решение

Чтобы устранить эту проблему, определите, развернута ли служба поиска Application Proxy в режиме секционирования. Если это так, удалите и повторно создайте прокси-сервер без использования режима секционирования.

ЗАМЕТКИ

  • Microsoft 365 не поддерживает входящие запросы гибридного поиска, если локальная служба поиска Application Proxy развернута в секционированном режиме.

  • Прежде чем выполнять эти действия, следуйте рекомендациям по эксплуатации и выполните резервное копирование. Дополнительные сведения см. в статье Резервное копирование приложений служба в SharePoint Server.

Для этого выполните следующие действия в командной консоли SharePoint.

  1. Получите идентификатор приложения службы поиска. Для этого выполните следующий командлет:

    $ssa=Get-SPEnterpriseSearchServiceApplication
    
  2. Получите идентификатор Application Proxy службы поиска. Для этого выполните следующий командлет:

    $ssaproxy=Get-SPServiceApplicationProxy –identity <guid>
    

    ПРИМЕЧАНИЕ Идентификатор GUID прокси-сервера приложения службы уникален для каждой фермы. Запустите командлет Get-SPServiceApplicationProxy и запишите GUID прокси-сервера приложений службы поиска.

  3. Просмотрите результаты $ssaproxy.properties. Прокси-сервер должен быть указан как секционированные. В этом случае перейдите к шагу 4, чтобы обновить свойства прокси-сервера.

  4. Обновите свойства прокси-сервера. Для этого выполните следующий командлет:

    $proxy = get-spenterprisesearchserviceapplicationproxy
    $proxy.Properties["Microsoft.Office.Server.Utilities.SPPartitionOptions"] = 0
    $proxy.Update()
    $ssa = get-spenterprisesearchserviceapplication
    $ssa.SetProperty("IgnoreTenantization",1)
    $ssa.Update()
    

    После выполнения этих действий проверка, устранена ли проблема. В противном случае перейдите к шагу 5, чтобы удалить и повторно создать прокси-сервер.

  5. Удалите Application Proxy службы поиска. Для этого выполните следующий командлет:

    Remove-SPServiceApplicationProxy $ssaproxy
    
  6. Создайте новую Application Proxy службы поиска. Для этого выполните следующий командлет:

    New-SPEnterpriseSearchServiceApplicationProxy -SearchApplication $ssa -Name "Search Service Application Proxy"
    

После выполнения этих действий локальная ферма поиска SharePoint 2013 должна начать возвращать результаты из SharePoint Online.

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

Дополнительные сведения см. в статье Общие сведения о мультитенантности в SharePoint Server 2013.

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