Kan ikke åbne nogen dokumenter i SharePoint
Dokumenter åbner ikke i browseren, og workflows kan ikke udgives, fordi ingen lytter på net.pipe-adressen til Security Token Service. Løsningen er en Windows-service.
Løb ind i den her fejl forleden. Hvorfor den begyndte at opstå, ved jeg ikke.
Symptomer#
Man kan ikke åbne dokumenter via Office WebAccess (OWA). Dokumenterne er fine, og det virker helt fint at downloade dem og så åbne dem. Hvis der ikke er andre fejl, og man ikke prøver at åbne dokumenter, mens man er logget ind som en systemkonto, kan man gå ud fra, at OWA-installationen fungerer fint. Man har højst sandsynligt også problemer med workflows. Prøver man at udgive workflows i SharePoint 2013, kan man få fejl som:
“Microsoft.Workflow.Client.WorkflowCommunicationException: The request was aborted: The request was canceled. Client ActivityId : [ActivityId]. —> System.Net.WebException: The request was aborted: The request was canceled. —> System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://localhost/SecurityTokenServiceApplication/appsts.svc that could accept the message. This is often caused by an incorrect address or SOAP action.”
Det her er, hvad jeg fandt i min logfil:
WOPIFrame - Unhandled exception: System.ServiceModel.EndpointNotFoundException: There was no endpoint listeningThere was no endpoint listening
at net.pipe://localhost/SecurityTokenServiceApplication/appsts.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.IO.PipeException: The pipe endpoint 'net.pipe://localhost/SecurityTokenServiceApplication/appsts.svc' could not be found on your local machine. -
-- End of inner exception stack trace --- Server stack trace:
at System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri, IPipeTransportFactorySettings transportFactorySettings)
at System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey(EndpointAddress address, Uri via)
at System.ServiceModel.Channels.CommunicationPool`2.TakeConnection(EndpointAddress address, Uri via, TimeSpan timeout, TKey& key)
at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown
at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.SharePoint.IdentityServices.IApplicationSecurityTokenServiceContract.Issue(RequestApplicationSecurityToken request)
at Microsoft.SharePoint.IdentityServices.SPApplicationSecurityTokenServiceClient.<>c__DisplayClass2.<RequestSelfIssuedToken>b__0()
at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
at Microsoft.SharePoint.IdentityServices.SPApplicationSecurityTokenServiceClient.RequestSelfIssuedToken(RequestApplicationSecurityToken rst)
at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.RequestRawLoopbackToken(OAuth2EndpointIdentity endpointIdentity, JsonWebSecurityToken onBehalfOf, String applicationContext)
at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.IssueLoopbackTokenString(Uri endpointAddress, SPIdentityContext identityContext, String applicationContext, DateTime& validTo)
at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.IssueLoopbackTokenString(Uri endpointAddress, SPUser user, String applicationContext, DateTime& validTo)
at Microsoft.SharePoint.Utilities.SPWOPIHost.GetAccessToken(SPWeb web, Guid uniqueId, String proofKeyId, SPUrlZone zone, SPBasePermissions perms, Boolean hasEditLicense, Int64& ttl)
at Microsoft.SharePoint.Utilities.SPWOPIHost.GetAccessToken(SPFile file, String proofKeyId, SPUrlZone zone, Int64& ttl)
at Microsoft.SharePoint.Utilities.SPWOPIHost.GetWOPITargetInternal(HttpContext httpContext, SPWeb web, Object& spPrimeObject, SPWOPIAction& requestedAction, SPRegionalSettings spSettings, String& wopiAppUrl, String& wopiFavIconUrl, String& wopiAccessToken, Int64& wopiAccessTokenTtl, String& errorMessageToDisplay, String& redirectUrl)
at Microsoft.SharePoint.ApplicationPages.WOPIFrameHelper.OnLoadHelper(WOPIFrame frame)
at Microsoft.SharePoint.ApplicationPages.WOPIFrameHelper.OnLoad(WOPIFrame frame)
Løsning#
Start Windows Services -> Net.Pipe Listener Adapter-servicen, og sørg for, at den er sat til automatisk start. Gør det på alle servere i farmen, så burde dokumenterne kunne åbnes igen.
Sidst opdateret