Event-ID: 8313 – A failure was reported when trying to invoke a service application: EndpointFailure

Problem

Event-ID: 8313 – SharePoint Foundation – Topologie – Fehler beim Versuch, eine Dienstanwendung aufzurufen: EndpointFailure

Fehler beim Versuch, eine Dienstanwendung aufzurufen: EndpointFailure.
. . .

Event-ID: 8313 – SharePoint Foundation – Topologie – A failure was reported when trying to invoke a service application: EndpointFailure

A failure was reported when trying to invoke a service application: EndpointFailure
. . .

Details

Beschreibung

Es werden Einträge mit der Event-ID: 8313 in das ULS Log geschrieben.

Die Event-ID: 8313 findet man auch in der Ereignisanzeige (Event Viewer) mindestens einmal täglich (evtl. auf unterschiedlichen SharePoint Servern der Farm).

Es kann auch sein, dass die Event-ID: 8313 auch genau dann im ULS-Log und im Event Viewer generiert wird, wenn gewisse Vorgänge im SharePoint ausgeführt und mit Fehlermeldung beendet werden. Z.B. die Synchronisierung einer Aufgabenliste mit Outlook.

Ist-Zustand

SharePoint Umgebung

Der Server, der in den ULS auftaucht (hier „old-sp-server„) wurde vor längerer Zeit aus der Farm entfernt.

ULS Log

In den ULS Logs findet man folgende Einträge:

Product: SharePoint Foundation

Process w3wp.exe
Product SharePoint Foundation
Category Topology
EventID 8313
Level Critical
Message A failure was reported when trying to invoke a service application: EndpointFailure Process Name: w3wp Process ID: <ID> AppDomain Name: /LM/W3SVC/2/ROOT/c0872fbc-14-131072520302397589 AppDomain ID: 15 Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:fea20cf0#authority=urn:uuid:4a99a796&authority=https://old-sp-server:32844/Topology/topology.svc Active Endpoints: 3 Failed Endpoints:1 Affected Endpoint: http://sp-server:32843/fea20cf0/ProfileService.svc
Name Request (POST:https://<SP-Domain>:443/<SiteCollectionWithTaskList>/_layouts/15/ExchangeSyncSettings.aspx?IsDlg=1)
Component
Result
Error

Product: SharePoint Portal Server

Process w3wp.exe
Product SharePoint Portal Server
Category User Profiles
EventID acruz
Level High
Message Exception occured while connecting to WCF endpoint: System.ServiceModel.Security.SecurityAccessDeniedException: Der Zugriff wurde verweigert. Server stack trace: bei System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter) bei System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) bei System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) bei System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) bei System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) bei Microsoft.Office.Server.UserProfiles.IProfilePropertyService.GetProfileProperties() bei Microsoft.Office.Server.UserProfiles.ProfilePropertyServiceClient.<>c__DisplayClass1.<GetProfileProperties>b__0(IProfilePropertyService channel) bei Microsoft.Office.Server.UserProfiles.MossClientBase`1.ExecuteOnChannel(String operationName, CodeBlock codeBlock)
Name Request (POST:https://<SP-Domain>:443/<SiteCollectionWithTaskList>/_layouts/15/ExchangeSyncSettings.aspx?IsDlg=1)
Component
Result
Error

Product: SharePoint Portal Server

Process w3wp.exe
Product SharePoint Portal Server
Category User Profiles
EventID ajk4f
Level High
Message UserProfileProperty_WCFLogging::Begin ProfilePropertyServiceClient.ExecuteOnChannel threw Exception Microsoft.Office.Server.UserProfiles.UserProfileException: System.ServiceModel.Security.SecurityAccessDeniedException     bei Microsoft.Office.Server.UserProfiles.MossClientBase`1.ExecuteOnChannel(String operationName, CodeBlock codeBlock)     bei Microsoft.Office.Server.UserProfiles.ProfilePropertyServiceClient.ExecuteOnChannel(String operationName, CodeBlock codeBlock)
Name Request (POST:https://<SP-Domain>:443/<SiteCollectionWithTaskList>/_layouts/15/ExchangeSyncSettings.aspx?IsDlg=1)
Component
Result
Error

Product: SharePoint Portal Server

Process w3wp.exe
Product SharePoint Portal Server
Category User Profiles
EventID g11n
Level High
Message UserProfileApplicationProxy.InitializePropertyCache: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.     bei Microsoft.Office.Server.Administration.UserProfileApplicationProxy.IsCompatibleDatabaseSchema(ProfilePropertyData propertyData)     bei Microsoft.Office.Server.Administration.UserProfileApplicationProxy.RefreshProperties(Guid applicationID)     bei Microsoft.Office.Server.Utilities.SPAsyncCache`2.GetValueNow(K key)     bei Microsoft.Office.Server.Utilities.SPAsyncCache`2.GetValue(K key, Boolean asynchronous)     bei Microsoft.Office.Server.Administration.UserProfileApplicationProxy.InitializePropertyCache()
Name Request (POST:https://<SP-Domain>:443/<SiteCollectionWithTaskList>/_layouts/15/ExchangeSyncSettings.aspx?IsDlg=1)
Component
Result
Error

Ereignisprotokoll

In der Windows Ereignisanzeige (Event Viewer) ist folgender Event Log Eintrag mit der Event-ID: 8313 vorhanden (eventuell nicht auf allen SharePoint-Servern der Farm gleichzeitig zu sehen):

Event-ID: 8313

Deutsches System

Protokoll(name) Anwendung
Quelle SharePoint Foundation
Aufgabenkategorie Topologie
Ebene Fehler
Ereignis-ID 8313
Details Fehler beim Versuch, eine Dienstanwendung aufzurufen: EndpointFailure
Prozessname: w3wp
Prozess-ID: 9772
AppDomain-Name: /LM/W3SVC/2/ROOT/c0872fbc-10-131068430349594355
AppDomain-ID: 11
Dienstanwendungs-URI: urn:schemas-microsoft-com:sharepoint:service:fea20cf0#authority=urn:uuid:4a99a796&authority=https://old-sp-server:32844/Topology/topology.svc
Aktive Endpunkte: 3
Fehlerhafte Endpunkte:1
Betroffene Endpunkte:http://sp-server:32843/fea20cf0/ProfileService.svc

Event-ID: 8313

Englisches System

Protokoll(name) Application
Quelle SharePoint Foundation
Aufgabenkategorie Topology
Ebene Error
Ereignis-ID 8313
Details A failure was reported when trying to invoke a service application: EndpointFailure
Process Name: w3wp
Process ID: 9772
AppDomain Name: /LM/W3SVC/2/ROOT/c0872fbc-10-131068430349594355
AppDomain ID: 11
Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:fea20cf0#authority=urn:uuid:4a99a796&authority=https://old-sp-server:32844/Topology/topology.svc
Active Endpoints: 3
Failed Endpoints:1
Affected Endpoint:http://sp-server:32843/fea20cf0/ProfileService.svc

Fix

Dies wurde durchgeführt, hat aber zu keiner Lösung geführt

Der Server, der in den ULS auftaucht (hier „old-sp-server„) wurde vor längerer Zeit aus der Farm entfernt.

Benutzerprofildienst neu gestartet

Das Neustarten des Profildienstes auf allen SharePoint-Servern (ZA > Dienste auf dem Server) brachte keine Lösung.

URL im Browser nicht erreichbar

Der Aufruf der URL aus den Logs im Browser

http://sp-server:32843/fea20cf0/ProfileService.svc

Ergab:

Serverfehler in der Anwendung /fea20cf0.
——————————————————————————–

Die Ressource kann nicht gefunden werden.
Beschreibung: HTTP 404. Die gesuchte Ressource oder eine ihrer Abhängigkeiten wurde möglicherweise entfernt, umbenannt oder ist vorübergehend nicht verfügbar. Überprüfen Sie folgende URL, und stellen Sie sicher, dass sie richtig geschrieben wurde.

Angeforderter URL: /fea20cf0/ProfileService.svc

ProfileService.svc - Serverfehler in der Anwendung - Die Ressource kann nicht gefunden werden - HTTP 404 - SharePoint 2013

IIS-Site

Die IIS-Site mit der ID „fea20cf0-….“ unter Sites/SharePoint Web Services existiert und ist gestartet.

Der Anwendungspool (unter Grundeinstellungen) existiert und ist mit der Site verknüpft.

Information über TopologyService sammeln

ServiceApplication
Get-SPTopologyServiceApplication | fl *

<# Ausgabe:
LoadBalancerUrl              : https://sp-server:32844/Topology/topology.svc
DisplayName                  : Anwendungserkennung und Anwendung des Lastenausgleichsdiensts
TypeName                     : Anwendungserkennung und Anwendung des Lastenausgleichsdiensts
ApplicationClassId           : ece729db...
ApplicationVersion           : 1.0.0.0
Uri                          : https://sp-server:32844/Topology/topology.svc
IisVirtualDirectoryPath      : SharePoint Web Services\Topology
ApplicationPool              : SPIisWebServiceApplicationPool Name=SharePoint Web Services System
PermissionsLink              : Microsoft.SharePoint.Administration.SPAdministrationLink
Endpoints                    : {}
DefaultEndpoint              : SPIisWebServiceEndpoint
Shared                       : False
Comments                     :
TermsOfServiceUri            :
Service                      : SPTopologyWebService
ServiceInstances             : {, , , }
ServiceApplicationProxyGroup : SPServiceApplicationProxyGroup
ManageLink                   :
PropertiesLink               :
CanUpgrade                   : True
IsBackwardsCompatible        : True
NeedsUpgradeIncludeChildren  : False
NeedsUpgrade                 : False
UpgradeContext               : Microsoft.SharePoint.Upgrade.SPUpgradeContext
Name                         : Topology
Id                           : 4a99a796
Status                       : Online
Parent                       : SPTopologyWebService
Version                      : 15476638
Properties                   : {}
Farm                         : SPFarm Name=<SPFarm Name>
UpgradedPersistedProperties  : {}
CanSelectForBackup           : True
DiskSizeRequired             : 0
CanSelectForRestore          : True
CanRenameOnRestore           : True
#>

ApplicationProxies
Get-SPTopologyServiceApplicationProxy | fl *

<# Ausgabe:
BadListPeriod                 : 00:10:00
ExpireFailedEndPointsInterval : 00:10:00
TypeName                      : Anwendungserkennung und Proxy des Lastenausgleichsdiensts
ApplicationProxies            : {4a99a796}
CanUpgrade                    : True
IsBackwardsCompatible         : True
NeedsUpgradeIncludeChildren   : False
NeedsUpgrade                  : False
UpgradeContext                : Microsoft.SharePoint.Upgrade.SPUpgradeContext
Name                          :
DisplayName                   :
Id                            : fe2d0e18
Status                        : Online
Parent                        : SPFarm Name=<SPFarm Name>
Version                       : 2877
Properties                    : {}
Farm                          : SPFarm Name=<SPFarm Name>
UpgradedPersistedProperties   : {}
#>
(Get-SPTopologyServiceApplicationProxy).ApplicationProxies | fl *

<# Ausgabe:
DisplayName                 : Anwendungserkennung und Anwendungsproxy des Lastenausgleichsdiensts_4a99a796
TypeName                    : Anwendungserkennung und Anwendungsproxy des Lastenausgleichsdiensts
ServiceEndpointUri          : https://old-sp-server:32844/Topology/topology.svc
ManageLink                  :
PropertiesLink              :
CanUpgrade                  : True
IsBackwardsCompatible       : True
NeedsUpgradeIncludeChildren : False
NeedsUpgrade                : False
UpgradeContext              : Microsoft.SharePoint.Upgrade.SPUpgradeContext
Name                        : 4a99a796
Id                          : 089ce7de
Status                      : Online
Parent                      : SPTopologyWebServiceProxy
Version                     : 8644
Properties                  : {}
Farm                        : SPFarm Name=<SPFarm Name>
UpgradedPersistedProperties : {}
CanSelectForBackup          : True
DiskSizeRequired            : 0
CanSelectForRestore         : True
CanRenameOnRestore          : True
#>

Normalerweise muss sich „ServiceEndpointUri“ auf einem Server befinden, der noch in der SP-Farm vorhanden ist. Hier ist es nicht der Fall!

Außerdem müssen normalerweise die Eigenschaften von „ServiceEndpointUri“ gleich den Eigenschaften von „LoadBalancerUrl“ (aus Get-SPTopologyServiceApplication | fl *) sein.

(Get-SPTopologyServiceApplicationProxy).ApplicationProxies.ServiceEndpointUri
<# Ausgabe:
AbsolutePath : /Topology/topology.svc
AbsoluteUri : https://old-sp-server:32844/Topology/topology.svc
LocalPath : /Topology/topology.svc
Authority : old-sp-server:32844
HostNameType : Dns
IsDefaultPort : False
IsFile : False
IsLoopback : False
PathAndQuery : /Topology/topology.svc
Segments : {/, Topology/, topology.svc}
IsUnc : False
Host : old-sp-server
Port : 32844
Query :
Fragment :
Scheme : https
OriginalString : https://old-sp-server:32844/Topology/topology.svc
DnsSafeHost : old-sp-server
IsAbsoluteUri : True
UserEscaped : False
UserInfo :
#>

Die Ausgabe der Zeilen:

Get-spserviceinstance | Select TypeName, Server | ft -auto
(Get-SPTopologyServiceApplication).ServiceInstances | ft -auto *

listet nur die vorhandenen sp-server auf – nicht den alten Server.

Endpoint-ListenUris  der ServiceApp
$TopSA = Get-SPServiceApplication | where {$_.Name -like "Topology"}
$TopSA | fl *
<# Ausgabe:
LoadBalancerUrl              : https://sp-server02:32844/Topology/topology.svc
DisplayName                  : Anwendungserkennung und Anwendung des Lastenausgleichsdiensts
TypeName                     : Anwendungserkennung und Anwendung des Lastenausgleichsdiensts
ApplicationClassId           : ece729db...
ApplicationVersion           : 1.0.0.0
Uri                          : https://sp-server02:32844/Topology/topology.svc
IisVirtualDirectoryPath      : SharePoint Web Services\Topology
ApplicationPool              : SPIisWebServiceApplicationPool Name=SharePoint Web Services System
PermissionsLink              : Microsoft.SharePoint.Administration.SPAdministrationLink
Endpoints                    : {}
DefaultEndpoint              : SPIisWebServiceEndpoint
Shared                       : False
Comments                     :
TermsOfServiceUri            :
Service                      : SPTopologyWebService
ServiceInstances             : {, , , }
ServiceApplicationProxyGroup : SPServiceApplicationProxyGroup
ManageLink                   :
PropertiesLink               :
CanUpgrade                   : True
IsBackwardsCompatible        : True
NeedsUpgradeIncludeChildren  : False
NeedsUpgrade                 : False
UpgradeContext               : Microsoft.SharePoint.Upgrade.SPUpgradeContext
Name                         : Topology
Id                           : 4a99a796
Status                       : Online
Parent                       : SPTopologyWebService
Version                      : 15476638
Properties                   : {}
Farm                         : SPFarm Name=<SPFarm Name>
UpgradedPersistedProperties  : {}
CanSelectForBackup           : True
DiskSizeRequired             : 0
CanSelectForRestore          : True
CanRenameOnRestore           : True
#>$TopSA.Endpoints | fl *<# Ausgabe
Uri                         : urn:schemas-microsoft-com:sharepoint:service:4a99a796#authority=urn:uuid:4a99a796&authority=https://sp-server02:32844/Topology/topology.svc
ListenUris                  : {https://sp-server02:32844/Topology/topology.svc, https://sp-server01:32844/Topology/topology.svc, https://sp-server04:32844/Topology/topology.svc, https://sp-server03:32844/Topology/topology.svc}
TypeName                    : Dienstanwendungsendpunkt
Name                        :
DisplayName                 :
Id                          : 3e4466d7
Status                      : Online
Parent                      : SPTopologyWebServiceApplication Name=Topology
Version                     : 2889
Properties                  : {}
Farm                        : SPFarm Name=<SPFarm Name>
UpgradedPersistedProperties : {}
CanSelectForBackup          : False
DiskSizeRequired            : 0
CanSelectForRestore         : False
CanRenameOnRestore          : False
#> $(foreach ($pt in $TopSA.EndPoints) {$pt.ListenUris}) | ft * -auto

<# Ausgabe
... AbsoluteUri                                     LocalPath              Authority         ...
... -----------                                     ---------              ---------         ...
... https://sp-server02:32844/Topology/topology.svc /Topology/topology.svc sp-server02:32844 ...
... https://sp-server01:32844/Topology/topology.svc /Topology/topology.svc sp-server01:32844 ...
... https://sp-server04:32844/Topology/topology.svc /Topology/topology.svc sp-server04:32844 ...
... https://sp-server03:32844/Topology/topology.svc /Topology/topology.svc sp-server03:32844 ...#>

Unter ListenUris werden auch nur die vorhandenen sp-server aufgelistet – nicht der alte Server, der aus der Farm entfernt, aber immer noch als ServiceEndpointUri weiter oben aufgelistet wird.

CA > Manage Service Applications

In der Zentraladministration unter „Dienstanwendungen verwalten“ ist die Dienstanwendung „Anwendungserkennung und Anwendung des Lastenausgleichsdiensts“ bzw. „Application Discovery and Load Balancer Service Applicationohne Anwendungsproxy aufgelistet.

So würde die normale, funktionierende Konfiguration aussehen:

Application Discovery and Load Balancer Service Application - Anwendungserkennung und Anwendung des Lastenausgleichsdiensts mit Proxy - SharePoint 2013
Application Discovery and Load Balancer Service Application + Proxy = OK

In diesem Fall wird die Dienstanwendung ohne Proxy aufgelistet – nicht OK:

Application Discovery and Load Balancer Service Application - Anwendungserkennung und Anwendung des Lastenausgleichsdiensts ohne Proxy - Fehler - SharePoint 2013.png
Application Discovery and Load Balancer Service Application KEIN Proxy = Konfiguration fehlerhaft

Der Proxy, der offensichtlich mit dem alten Server verknüpft ist, welcher schon längst aus der Farm entfernt wurde, wird am Ende der Dienstanwendungsliste aufgelistet, allerdings ohne einer Dienstanwendung.

Die ID entspricht der aus den ULS- und Event-Logs.

Application Discovery and Load Balancer Service Application Proxy - Alter Proxy ganz unten in der Liste, ohne Dienstanwendung - SharePoint 2013
Alter Proxy ganz unten in der Liste, ohne Dienstanwendung

Timer-Job

Offensichtlich läuft der Timer-Job für die Aktualisierung der Endpoints ohne Probleme.

DB-Abfrage

In PowerShell die ID des ServiceApplicationProxy herausfinden und kopieren.

(Get-SPTopologyServiceApplicationProxy).ApplicationProxies.ID

Guid
----
089ce7de

Im SSMS wurde folgende Abfrage gestartet („SP_Configuration_DB“ und „089ce7de“ mit eigenen Werten ersetzen):

SELECT [Id]
,[ClassId]
,[ParentId]
,[Name]
,[Status]
,[Version]
,CAST([Properties] AS XML) AS Properties
FROM [SP_Configuration_DB].[dbo].[Objects] WITH (NOLOCK)
WHERE [Id] LIKE '089ce7de'

In der Spalte „Properties“ wird eine klickbare XML generiert.

Unsere Beispielausgabe sieht wie folgt aus (alle IDs wurden gekürzt):

<object type="Microsoft.SharePoint.SPTopologyWebServiceApplicationProxy, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce1">
<fld type="Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce1" name="m_LoadBalancer">
<object type="Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce1">
<sFld type="Guid" name="m_Id">3829106a</sFld>
<sFld type="Guid" name="m_ConnectedServiceApplicationId">3bc118b2</sFld>
<sFld type="Uri" name="m_Uri">https://old-sp-server:32844/Topology/topology.svc</sFld>
</object>
</fld>
<sFld type="Guid" name="m_ApplicationId">4a99a796</sFld>
<sFld type="Uri" name="m_ServiceEndpointUri">https://old-sp-server:32844/Topology/topology.svc</sFld>
<fld name="m_Versions" type="null" />
<fld name="m_UpgradeContext" type="null" />
<fld type="System.Collections.Hashtable, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c56" name="m_UpgradedPersistedFields" />
<fld name="m_Properties" type="null" />
<sFld type="String" name="m_LastUpdatedUser">Domain\User</sFld>
<sFld type="String" name="m_LastUpdatedProcess">powershell_ise (3736)</sFld>
<sFld type="String" name="m_LastUpdatedMachine">old-sp-server</sFld>
<sFld type="DateTime" name="m_LastUpdatedTime">2013-02-14T16:07:01</sFld>
</object>

Workaround

Achtung:

Das direkte Editieren der SharePoint-Datenbanken wird von Microsoft nicht unterstützt!
 

Nachfolgende Schritte führen Sie bitte nur in Testsystemen und nur auf eigene Gefahr durch!

Im SSMS folgende Abfrage starten („SP_Configuration_DB“ und „089ce7de“ mit eigenen Werten ersetzen):

Der Inhalt der Spalte kann nach einem rechten Maustastenklick in die Zwischenablage kopiert, in einen Texteditor eingefügt und dort passend verändert werden (also den alten Server durch einen neuen ersetzen).

Mit folgenden SQL-Zeilen könnte man den Inhalt des Feldes verändern (<YOUR UPDATED COLUMN CONTENT> muss durch den veränderten Inhalt aus dem Editor ersetzt werden)

Achtung:
Das könnte die SharePoint-Farm zerstören!

Links

  1. sharepoint.stackexchange.com: Application Discovery Load Balancer Service EndpointFailure (topology.svc)
  2. networksteve.com: Topology.svc – Endpoints – Web Services High Availability
  3. blogs.msdn.microsoft.com: Increasing Service Application Redundancy
  4. social.technet.microsoft.com: Load Balancer Error Mesaage
  5. gai3kannan.wordpress.com: A failure was reported when trying to invoke a service application: EndpointFailure – Solution Step by Step
  6. blogs.msdn.microsoft.com: Troubleshooting App Management WCF Endpoint Failures
  7. blogs.msdn.microsoft.com: How I Learned to Stop Worrying and Love the SharePoint Topology Service
  8. sharepoint.stackexchange.com: Application Discovery Load Balancer Service EndpointFailure (topology.svc)
  9. blogs.msdn.microsoft.com: SharePoint 2010 Service Application Load Balancer

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.