В этой краткой заметки мы разберем одну из причин, из-за которой возникает ошибка при открытии перечня задач проекта в Project Web App 2019. Не исключаю, что есть и другие причины, но конкретно в моем случае ошибка возникала из-за остановленного сервиса. Обо все по порядку.
Описание исходного окружения
Операционная система сервера: Windows Server 2019 Datacenter.
Версия SharePoint: Share Point 2019 (build 16.0.10352.20000).
Пример ошибки
Для воспроизведения ошибки необходимо зайти на узел с Project Web App. Например, в моем случае это следующий URL:
http://srv-proj01/PWA
Затем перейти в раздел с проектами:

В списке с проектами выбрать любой проект. Скажем, “Test”.
Должен отобразиться перечень задач проекта и диаграмма Ганта, но вместо этого генерируется ошибка “An error occurred while opening your project. Give us a few minutes and try again. If this happens again, contact your administrator”:

Причина ошибки
Если проанализировать ULS логи, то можно найти следующую ошибку:

Failed to connect to Calc Service instance on serverId 0f861a87-586f-446d-aac6-c9797e5a5f52 with uri net.tcp://srv-proj01:16001/: System.ServiceModel.EndpointNotFoundException: Could not connect to net.tcp://srv-proj01:16001/. The connection attempt lasted for a time span of 00:00:02.0359926. TCP error code 10061: No connection could be made because the target machine actively refused it 10.1.0.18:16001. ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 10.1.0.18:16001
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.ServiceModel.Channels.SocketConnectionInitiator.Connect(Uri uri, TimeSpan timeout) -
-- End of inner exception stack trace --- Server stack trace:
at System.ServiceModel.Channels.SocketConnectionInitiator.Connect(Uri uri, TimeSpan timeout)
at System.ServiceModel.Channels.BufferedConnectionInitiator.Connect(Uri uri, TimeSpan timeout)
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) 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 System.ServiceModel.ICommunicationObject.Open()
at Microsoft.Office.Project.Server.Services.ServiceWCFUtility.<>c__DisplayClass7`1.<GetClientChannelForService>b__4()
at Microsoft.Office.Project.Server.Security.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
at Microsoft.Office.Project.Server.Services.ServiceWCFUtility.GetClientChannelForService[TServiceInterface](String serviceLoggingName, IChannelFactory`1 channelFactory, EndpointIdentity serviceEndpointIdentity, Int32 tcpPort, Nullable`1 requestedServerId)
Ошибка прям явным образом говорит о том, что не запущен некий “Calc Service”.
Решение
Необходимо запустить сервис “Microsoft Project Server Calculation Service 2016”:

Либо через PowerShell:
Start-Service -Name ProjectCalcService16
Спустя буквально минуту ошибка при открытии перечня задач более не возникает:
