An interesting question came in this week from a couple of different directions – though may have started with the same customer – but I learned something new so thought it worthwhile to share. The problem was that when the PSI Project Web Service method QueueCreateProject is used with an Enterprise Project Type (EPT) and that EPT is set to use a project plan template, then the create was failing with an EnterpriseProjectTypeInvalidData error. To be honest I didn’t even realize you could use an EPT with that method – so started researching… I could certainly see that we have a property you can set in the dataset you pass to that method - ProjectDataSet..::..ProjectRow..::..ENTERPRISE_PROJECT_TYPE_UID Property – but could also envisage that some of the other contents of the dataset migth conflict with the data in the other tables in the dataset – so this might cause the failure.
Thanks Bia for coming up with the definitive answer! You can use the EPT UID (which you find by drilling in to the specific EPT on the Enterprise Project Types page of Server Settings, then looking at the System Identification Data at the foot of the page) BUT you must ensure a couple of things.
And the error you will get if you don’t follow these rules is:
w3wp.exe (0x0604) 0x0628 SharePoint Foundation Runtime tkau Unexpected System.Web.Services.Protocols.SoapException: ProjectServerError(s) LastError=EnterpriseProjectTypeInvalidData Instructions: Pass this into PSClientError constructor to access all error information at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(…
Thanks too to Klaudia and Sebastian for raising the issue.
Can you please provide a working example of this?
We have tried populating only PROJ_NAME, PROJ_INFO_START_DATE, PROJ_TYPE and ENTERPRISE_PROJECT_TYPE_UID. And a few variations of.
PSI always returns ENTERPRISE_PROJECT_TYPE_UID is readonly