SharePoint Troubleshooting
Hier finden Sie häufige Probleme, die bei der Nutzung von SharePoint in OnPremise Umgebungen auftreten können, sowie die jeweils passenden Lösungen. Neue Probleme und Lösungen werden diesem Abschnitt fortlaufend hinzugefügt.
linqi Prozesse mit SharePoint Ereignissen können nicht veröffentlicht werden
Problem
linqi Prozesse mit SharePoint Ereignissen können nicht mehr veröffentlicht werden. Im SharePoint ULS Log wird folgender Fehler protokolliert:
The remote event receiver URL is not allowed. The URL must be a well-formed absolute http or https address whose host is permitted for outbound requests. Contact the farm administrator to allow the host and port.
Lösung
Der Host und Port, der für den Remote Event Receiver verwendet wird, muss in der SharePoint Farm explizit erlaubt sein. Dies erfolgt über folgende Farm-Einstellung via PowerShell:
$farm = Get-SPFarm
$farm.AddGenericAllowedListValue("SPAllowedOutboundHostPorts", "443")
$farm.AddGenericAllowedListValue("SPAllowedOutboundHosts", "url.linqi.local")
$farm.Update()
Danach können linqi Prozesse mit SharePoint Ereignissen wieder veröffentlicht werden.
linqi Prozesse mit SharePoint Ereignissen werden nicht ausgelöst unter SharePoint SE
Problem
SharePoint Ereignisse werden nicht mehr ausgelöst. Folgender Befehl in der SharePoint Management Shell liefert linqi bezogene Einträge:
Get-SPOrphanedRemoteEventReceiver
Lösung
SharePoint SE erlaubt die Anbindung von SharePoint Ereignissen per Benutzername und Passwort nicht. Stattdessen muss nun die Authentfizierung mit App Id und Zertifikat genutzt werden. Hierfür sind folgende Schritte nötig:
Es kann vorkommen das Microsoft diese Schritte ändert. Falls ein Schritt nicht funktioniert, prüfen Sie bitte die offizielle Microsoft Dokumentation.
Nötige Dateien
Es ist ein Zertifikat nötig. Dabei muss das Zertifikat einmal als PFX-Datei (Zertifikat mit privaten Schlüssel) und als CER-Datei vorhanden sein.
Registrieren von App im SharePoint
Sie müssen beim ersten Mal die App im SharePoint registrieren. Dafür öffnen Sie im Browser folgende Url:
https://SHAREPOINT_URL/_layouts/15/appregnew.aspx
Geben Sie nun dort folgende Daten ein:
- Title:
Sie können den Titel frei vergeben. Sie sollten hier einen Titel vergeben den Sie gut mit linqi in Verbindungen bringen können, z.B. linqiAppTrust. - App Domain:
Geben Sie hier die Url von linqi ein. - Redirect URI:
Geben Sie hier ebenfalls die Url von linqi ein.
Sobald Sie auf Create klicken wird Ihnen eine Client ID angezeigt. Diese müssen Sie speichern, da Sie diese für die Verbindung mit SharePoint benötigen:

Registrierung von Zertifikat im SharePoint
Das Zertifikat muss im SharePoint als Trusted Issuer registriert werden. Erst hierdurch wird die Anmeldung am SharePoint möglich. Hierfür können Sie folgendes PowerShell Skript in der SharePoint Management Shell auf einem SharePoint Server ausführen:
$clientId = "CLIENT_ID_AUS_DEM_VORHERIGEN_SCHRITT"
$realm = Get-SPAuthenticationRealm
$issuerId = "$clientId@$realm"
$cert = Get-PfxCertificate -FilePath "C:\Pfad\Zertifikat.cer"
New-SPTrustedSecurityTokenIssuer -Name "linqiAppTrust" -Certificate $cert -RegisteredIssuerName $issuerId
Sie müssen dabei CLIENT_ID_AUS_DEM_VORHERIGEN_SCHRITT mit der eben erstellten Client ID und C:\Pfad\Zertifikat.cer mit dem Pfad zu der oben erwähnten CER-Datei ersetzen.
Es kann eine Weile dauern bis dieses Zertifikat jedem SharePoint Server bekannt ist. Bis dahin erhalten Sie mitunter Fehler beim Zugriff auf SharePoint von linqi aus.
App im SharePoint Web einladen
Nun müssen Sie die App in jedem Web einladen auf das Sie per linqi zugreifen wollen. Dafür öffnen Sie im Browser folgende Url:
https://SHAREPOINT_URL/_layouts/15/appinv.aspx
Unter App Id geben Sie nun die Client ID aus dem ersten Schritt ein und klicken auf Lookup. Anschließend müssen Sie unter Permission Request XML folgendes eingeben:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
</AppPermissionRequests>
Hierdurch erhält die App FullControl Rechte, sobald Sie auf Create klicken. Danach müssen Sie auf Trust It klicken.
Nun ist der SharePoint fertig vorbereitet und Sie können in linqi die Verbindung anlegen.
Verbindung in linqi anlegen
Sie können nun eine SharePoint Verbindung anlegen. Dabei müssen Sie folgende Daten eingeben:
- Anzeigename:
Diesen können Sie frei vergeben und hilft Ihnen diese Verbindung zu referenzieren. - App Id:
Hier müssen Sie die Client Id vom SharePoint eingeben. - Issuer Id:
Hier müssen Sie ebenfalls die Client Id vom SharePoint eingeben. - Zertifikat:
Hier müssen Sie die PFX-Datei Ihres Zertifikats hochladen. - Zertifikat Passwort:
Hier müssen Sie das Passwort der PFX-Datei angeben.
Anschließend können Sie diese Verbindung nutzen um mit SharePoint zu interagieren. SharePoint Ereignisse werden dann auch wieder ausgelöst. Wenn Sie eine bestehende Verbindung ändern, aktualisiert linqi im Hintergrund automatisch diese SharePoint Ereignisse damit diese wieder zuverlässig ausgelöst werden.