Project Web App removed before TFS sync removed RRS feed

  • Question

  • Hello.

    First a little background:

    I have Project Server 2013 installed on SharePoint Server 2013 on the same computer as TFS 2013. We created a team collection Company1 and a Team Project (with Scrum methodology) Company1Project in TFS 2013. Then we created an Enterprise Project EnterpriseCompany1 in MS Project, uploaded and published it to Project Server 2013, and then used the TFSAdmin tool on a separate computer to sync Feature and Task items between TFS 2013 and Project Server 2013. All of the Work Items moved over to TFS, and everything functioned (mostly) beautifully.

    However, a series of IT decisions forced us to completely reinstall SharePoint Server 2013 soon after this was done. We didn't have much data on the server, so we just removed the old databases (keeping mdf files) and uninstalled the server, but we failed to use the TFSAdmin tool to remove the linkage between TFS and Project Server before this delete.

    Now the current problem:

    Every 30 seconds, TFS Sync Service logs an error in the log, and triggers another error. Here are the details:

    TF53010: The following error has occurred in a Team Foundation component or extension:
    Date (UTC): 4/25/2014 6:16:18 PM
    Machine: TfsMachine
    Application Domain: TfsJobAgent.exe
    Assembly: Microsoft.TeamFoundation.Framework.Server, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v4.0.30319
    Service Host: 
    Process Details:
      Process Name: TFSJobAgent
      Process Id: 1484
      Thread Id: 23196
      Account name: domain\Administrator

    Detailed Message: System.InvalidOperationException: Client found response content type of '', but expected 'text/xml'.
    The request failed with an empty response.
       at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.TeamFoundation.Sync.ProjectServerAPI.LookupTableAPI.LookupTable.ReadLookupTables(String xmlFilter, Boolean autoCheckOut, Int32 language)
       at Microsoft.TeamFoundation.Sync.ProjectServerAPI.ProjectServerHelper.ReadLookupTables(String pwaUrl, LookupTablesDataTable lookupTable, LookupTableTreesDataTable lookupTableTree, List`1 lookupTableColumns, List`1 lookupTableTreeColumns, IOperator[] fieldOperators, Boolean autoCheckout)
       at Microsoft.TeamFoundation.Sync.ProjectServerAPI.ProjectServerHelper.ReadLookupTables(String pwaUrl, String& nameColumn, String& idColumn, String& lookupTableTreeValueColumn, String& lookupTableTreeDescriptionColumn)
       at Microsoft.TeamFoundation.Sync.ProjectServerAPI.ProjectServerHelper.GetProjectServerMappings(String pwaUrl, String& tfsInstanceUrl, String& tfsInstanceId)
       at Microsoft.TeamFoundation.Sync.Services.SyncConfigurationService.InitializeProjectServerFields(IProjectServerFields projectServerFields, String pwaUrl)
       at Microsoft.TeamFoundation.Sync.Services.SyncConfigurationService.Initialize(SyncConfigurationStore store, Guid tpcId)
       at Microsoft.TeamFoundation.Sync.Session.ProjectSyncSessionBuilder.BuildContext(IDictionary`2 parameters)
       at Microsoft.TeamFoundation.Sync.ServiceExecution.SyncCatalyst.Execute(ISyncModule syncModule, ISyncExecutionControl syncExecutionControl, ISyncSessionBuilder syncSessionBuilder, IDictionary`2 parameters)
       at Microsoft.TeamFoundation.Sync.JobExtension.JobServicePlugin.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime jobQueueTime, String& resultMessage)

    And this one is from System.ServiceModel

    WebHost failed to process a request.
     Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/35320229
     Exception: System.ServiceModel.ServiceActivationException: The service '/_vti_bin/PSI/ProjectServer.svc' cannot be activated due to an exception during compilation.  The exception message is: The Web application at http://oldSharePointMachine could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.. ---> Microsoft.SharePoint.SPException: The Web application at http://oldSharePointMachine could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.
       at Microsoft.SharePoint.Utilities.SPUtility.ConfigServiceHostIfClaimsAuth(ServiceHost serviceHost)
       at Microsoft.SharePoint.Client.SPClientServiceHost.OnServiceHostOpening(ServiceHost serviceHost)
       at Microsoft.SharePoint.Client.Services.MultipleBaseAddressBasicHttpBindingServiceHost.OnOpening()
       at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
       at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity)
       at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
       --- End of inner exception stack trace ---
       at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
       at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity)
     Process Name: w3wp
     Process ID: 4184

    Running TfsAdmin:

    TfsAdmin.exe projectServer /GetRegisteredPwa /tfs:https://TfsMachine/tfs

    The following PWA instances are registered:


    Now to unregister it:

    TfsAdmin.exe projectServer /UnRegisterPwa /tfs:https://TfsMachine/tfs /pwa:http://oldSharePointMachine/pwa

    Unregistering PWA http://oldSharePointMachine/pwa.

    .Client found response content type of '', but expected 'text/xml'.
    The request failed with an empty response.

    Now to get mapped projects:

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE>TfsAdmin.exe projectServer /GetMappedProjects /collection:https://TfsMachine/tfs/Company1
    .TF294010: Unable to determine the name of the Project plan from the Project Server id 'guid' for the PWA instance: http://oldSharePointMachine/pwa. Details: Client found response content type of '', but expected 'text/xml'.
    The request failed with an empty response.

    Is there ANY way to manually remove the sync job and the Project Server mapping from TFS 2013 without it trying to contact the PWA? That PWA is dead, and we want to move it over to a new one, but we can't register a new one because of this error:

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE>TfsAdmin.exe projectServer /RegisterPwa /tfs:https://TfsMachine/tfs /pwa:https://newSharePointMachine/pwa

    Registering PWA https://newSharePointMachine/pwa

    TF244069: An error occurred while checking the provisioning status of the reporting database schema for a PWA instance.
    Project Server returned the following error: "Server was unable to process request. ---> Exception has been thrown by the target of an invocation. ---> Value cannot be null.".

    What does this mean? We have tried different things to get around this issue, including restoring the old project server database onto SharePoint under the same path, but that mostly gives us errors like the one just above. I found some forums related to the above error that say I need to use Windows Authentication, but they all say that that doesn't apply to TFS 2013 with SP 2013. Going into IIS Authentication for the SharePoint site reveals that both Basic Authentication and Windows Authentication are enabled, supposedly possibly causing some errors. Disabling Basic Authentication causes the above TfsAdmin command to throw a 401: Unauthorized error. The user that I'm using to run the command is in the "Project Server Administrators" group, so there should be no problem there.

    Friday, April 25, 2014 7:46 PM

All replies