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. You CANNOT have any of the following tables existing in the project dataset – · Task TaskCustomFields ProjectResource ProjectResourceCustomFields Assignment AssignmentCustomFields Dependency In the Project Row of the dataset you must ONLY set the following columns PROJ_UID PROJ_NAME WPROJ_DESCRIPTION PROJ_INFO_START_DATE ProjectOwnerID ENTERPRISE_PROJECT_TYPE_UID PROJ_TYPE PROJ_OPT_CURRENCY_CODE PROJ_OPT_CURRENCY_SYMBOL PROJ_OPT_CURRENCY_DIGITS PROJ_OPT_CURRENCY_POSITION 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.
See the rest here:
PSVR2010: QueueCreateProject using an Enterprise Project Type