I had an issue today where I brought the live Project Web App databases and relevant content databases from the live farm to the development farm for a client.
When I mounted the database and provisioned PWA against them, everything seemed fine. That is, until I went to configure Project Sites provisioning so that it would go to our custom/independent Site Collection.
No matter what change I tried to make to the page (or even none at all) I was receiving the error:
Proposed URL was of invalid format
Of course, the URL I was putting in, and the default one, wasn’t malformed – there was nothing at all wrong with it!
Diving into the event logs I could see the following error:
Standard Information:PSI Entry Point:
Project User: <username>
Correlation Id: 2899b21c-03fb-4cba-8325-ebea766a43c8
PWA Site URL: <URL>
SSP Name: Project Web Service Application
PSError: WSSURIInvalidFormat (16409)
The URL is not valid. This operation on the Project Site did not succeed.
Searching on the error message “WSSURLInvalidFormat” on Google came up with nothing more than the Project Server error codes page – so I dove deeper (still only in the event log).
I found this from around the time I had provisioned PWA:
Failed to grant '<ProjectServiceUsername>' access to web application 'SPWebApplication Name=<WebAppNameUsedForPWA>'.
Error: System.Security.SecurityException: Access denied. Only machine administrators are allowed to create administration service job definitions of type: Microsoft.SharePoint.Administration.SPUpdateWorkerProcessGroup, Microsoft.SharePoint, Version=184.108.40.206, Culture=neutral, PublicKeyToken=71e9bce111e9429c.
at Microsoft.SharePoint.Administration.SPAdministrationServiceJobDefinition..ctor(String name, SPService service, SPServer server, SPJobLockType lockType)
at Microsoft.SharePoint.Administration.SPUpdateWorkerProcessGroup..ctor(SPTimerService timerService, String loginsToAdd, String loginsToRemove)
at Microsoft.SharePoint.Administration.SPWebApplication.GrantAccessToProcessIdentity(String username, SPPolicyRoleType policyRole)
at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.GrantAccessToWebApp(List`1 webApps, String userName)
The Zone of the assembly that failed was:
Odd considering the dev and live farms use the same service accounts (don’t ask) and PWA otherwise looks operational…
I ended up having to give the Project Service user access to the web application using the following PowerShell:
$webapp = Get-SPWebApplication "<PWAWebAppURL>"
(be careful of the iisreset! remember, this was a dev server)
Once IIS came back up, I could satisfactorily configure Project Site provisioning (and create Project Sites) – odd!