Le contenu SharePoint Online ne s’affiche pas dans une recherche locale SharePoint

Problème

Prenons le cas de figure suivant.

  • Vous configurez la recherche hybride sortante pour qu’elle renvoie les résultats de SharePoint Online dans un environnement local SharePoint 2013.

  • Lorsqu’un utilisateur effectue une requête à partir d’un site local SharePoint 2013, seuls les résultats de l’environnement local SharePoint 2013 sont affichés. Aucun résultat n’est renvoyé à partir de SharePoint Online.

  • Un administrateur modifie la règle de requête associée aux sources de résultat. Ensuite, l’administrateur ouvre Query Builder à partir du bloc de résultats. Cependant, cela déclenche l’erreur suivante :

    1 3/4 System.Net.WebException : La demande a été abandonnée : La demande a été annulée. -->Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2ErrorResponseException : Le serveur distant a renvoyé une erreur : (404) introuvable. à Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsurl, message OAuth2AccessTokenRequest) à Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.RequestOAuthToken(Uri stsUrl. Demande OAuth2AccessTokenRequest) à stslnfo, OAuth2EndpointIdentity endpointldentity) à Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.GetRawBearerToken (Identificateur de nom de chaîne, SPSecurityTokenServiceConnectionInformation stslnfo.

En outre, l’exception suivante est enregistrée dans le journal Unified Logging Service (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)

Solution

Pour résoudre ce problème, déterminez si le proxy d’application de service de recherche a été déployé en mode partition. Si c’est le cas, supprimez puis recréez le proxy sans utiliser le mode partition.

REMARQUES

  • Microsoft 365 ne prend pas en charge les requêtes de recherche hybride entrantes lorsque le proxy d’application de service de recherche local est déployé en mode partitionné.

  • Suivez les meilleures pratiques opérationnelles et effectuez une sauvegarde avant de suivre cette procédure. Pour plus d’informations, accédez à Sauvegarder les applications de service de recherche dans SharePoint Server.

Pour ce faire, procédez comme suit dans SharePoint Management Shell.

  1. Obtenez l’ID de l’application de service de recherche. Pour ce faire, exécutez l’applet de commande suivante :

    $ssa=Get-SPEnterpriseSearchServiceApplication
    
  2. Obtenez l’ID du proxy d’application de service de recherche. Pour ce faire, exécutez l’applet de commande suivante :

    $ssaproxy=Get-SPServiceApplicationProxy –identity <guid>
    

    REMARQUE Le GUID proxy de l’application de service est unique à chaque batterie de serveurs. Exécutez l’applet de commande Get-SPServiceApplicationProxy et notez le GUID du proxy des applications du service de recherche.

  3. Consultez les résultats de $ssaproxy.properties. Le proxy doit être répertorié comme partitionné. Si tel est le cas, passez à l’étape 4 pour mettre à jour les propriétés du proxy.

  4. Mettez à jour les propriétés du proxy. Pour ce faire, exécutez l’applet de commande suivante :

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

    Une fois que vous avez terminé ces étapes, vérifiez si le problème est résolu. Sinon, passez à l’étape 5 pour supprimer et recréer le proxy.

  5. Supprimez le proxy d’application de service de recherche. Pour ce faire, exécutez l’applet de commande suivante :

    Remove-SPServiceApplicationProxy $ssaproxy
    
  6. Créez un proxy d’application de service de recherche. Pour ce faire, exécutez l’applet de commande suivante :

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

Après avoir suivi ces étapes, la batterie de serveurs de recherche locale SharePoint 2013 doit commencer à renvoyer les résultats de SharePoint Online.

Plus d’informations

Pour plus d’informations, accédez à Comprendre la multi-location dans SharePoint Server 2013.

Encore besoin d’aide ? Accédez au site de la Communauté SharePoint.