SharePoint Online-innehåll visas inte i en lokal SharePoint-sökning

Problem

Tänk dig följande scenario.

  • Du konfigurerar utgående hybridsökning för att returnera resultat från SharePoint Online i en lokal SharePoint 2013-miljö.

  • När en användare utför en fråga från en lokal SharePoint 2013-webbplats visas endast resultat från den lokala SharePoint 2013-miljön. Inga resultat returneras från SharePoint Online.

  • En administratör redigerar frågeregeln som är kopplad till resultatkällorna. Sedan öppnar administratören Frågeverktyget från resultatblocket. Detta utlöser dock följande fel:

    1 3/4 System.Net.WebException: Begäran avbröts: Begäran avbröts. -->Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2ErrorResponseException: Fjärrservern returnerade ett fel: (404) Hittades inte. på Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsurl, OAuth2AccessTokenRequest message) på Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.RequestOAuthToken(Uri stsUrl. OAuth2AccessTokenRequest request) at stslnfo, OAuth2EndpointIdentity endpointldentity) på Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.GetRawBearerToken(String nameldentifier, SPSecurityTokenServiceConnectionInformation stslnfo.

Dessutom loggas följande undantag i ULS-loggen (Unified Logging Service):

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)

Lösning

Lös problemet genom att avgöra om söktjänstprogramproxyn har distribuerats i partitionsläge. Om den var det ska du ta bort och sedan skapa proxyn på nytt utan att använda partitionsläge.

ANTECKNINGAR

  • Office 365 stöder inte inkommande hybridsökningsfrågor när den lokala söktjänstproxyn har distribuerats i partitionerat läge.

  • Följ metodtipsen och säkerhetskopiera innan du följer de här stegen. Mer information finns i Back up Search service applications in SharePoint Server.

Det gör du genom att följa de här stegen i SharePoint Management Shell.

  1. Hämta ID för Söktjänstprogram. Det gör du genom att köra följande cmdlet:

    $ssa=Get-SPEnterpriseSearchServiceApplication
    
  2. Hämta ID:t för söktjänstprogramproxyn. Det gör du genom att köra följande cmdlet:

    $ssaproxy=Get-SPServiceApplicationProxy –identity <guid>
    

    OBS! Tjänstprogrammets proxy-GUID är unikt för varje servergrupp. Kör Get-SPServiceApplicationProxy och notera GUID för söktjänstprogramproxyn.

  3. Granska resultaten $ssaproxy.properties. Proxyn ska visas som partitionerad. Om så är fallet går du till steg 4 och uppdaterar Proxyegenskaper.

  4. Uppdatera proxyegenskaperna. Det gör du genom att köra följande cmdlet:

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

    Kontrollera om problemet är löst när du har slutfört de här stegen. Annars går du till steg 5 för att ta bort och skapa proxyn igen.

  5. Ta bort proxy för söktjänstprogram. Det gör du genom att köra följande cmdlet:

    Remove-SPServiceApplicationProxy $ssaproxy
    
  6. Skapa en ny proxyserver för söktjänstprogram. Det gör du genom att köra följande cmdlet:

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

När du har följt de här anvisningarna bör den lokala SharePoint 2013-sökfarmen börja returnera resultat från SharePoint Online.

Mer information

Mer information finns i Förstå flera innehavare i SharePoint Server 2013.

Behöver du fortfarande hjälp? Gå till SharePoint Community.