I've been trying unsuccessfully for the last week or so to successfully create a new project from web services and I believe the main problem that I've been running into is that one of the required fields is a custom field. I've tried creating the Project in a couple of different ways and haven't had any success up to this point, so any help would be appreciated. I've tried creating it with both a REST call to /_api/ProjectServer/Projects and a SOAP call to /_vti_bin/PSI/Project.asmx. Below are the best shots I've made at the two different calls with the errors I received. If anyone has any leads on the best way to do this the help would be appreciated!
REST POST /_api/ProjectServer/Projects
{ 'odata.type' : 'PS.PublishedProject', 'Name' : 'OData Name', 'Custom_9d77d62aa92e4d40adc8446c90eb7456' : "O&M" }
Response
{ error: { code: "11713, Microsoft.ProjectServer.PJClientCallableException" message: { lang: "en-US" value: "PJClientCallableException: CustomFieldRequiredValueNotProvided CustomFieldRequiredValueNotProvided mdpropuid = 9d77d62a-a92e-4d40-adc8-446c90eb7456" } } }
SOAP POST /_vti_bin/PSI/Project.asmx
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://schemas.microsoft.com/office/project/server/webservices/Project/" xmlns:projds="http://schemas.microsoft.com/office/project/server/webservices/ProjectDataSet/"><soapenv:Header /><soapenv:Body><proj:QueueCreateProject><proj:dataset><ProjectDataSet xmlns="http://schemas.microsoft.com/office/project/server/webservices/ProjectDataSet/"><Project><PROJ_UID>e1c2d38b-1529-4128-b707-42a94045e55b</PROJ_UID><PROJ_NAME>Proj Dept Test 2</PROJ_NAME><PROJ_TYPE>0</PROJ_TYPE></Project><ProjectCustomFields><CUSTOM_FIELD_UID>4802a711-62a0-4f84-8e08-c7d22daadb5b</CUSTOM_FIELD_UID><PROJ_UID>e1c2d38b-1529-4128-b707-42a94045e55b</PROJ_UID><MD_PROP_UID>9d77d62a-a92e-4d40-adc8-446c90eb7456</MD_PROP_UID><FIELD_TYPE_ENUM>21</FIELD_TYPE_ENUM><CODE_VALUE>a47930d6-b89d-4f3a-b4e3-522015fe82a1</CODE_VALUE></ProjectCustomFields></ProjectDataSet></proj:dataset><proj:validateOnly>true</proj:validateOnly></proj:QueueCreateProject></soapenv:Body></soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode>s:Server</faultcode><faultstring xml:lang="en-US">ProjectServerError(s) LastError=GeneralUnhandledException Instructions: Pass this into PSClientError constructor to access all error information</faultstring><detail><errinfo><general><class name="General Unhandled Exception in _Project.QueueCreateProject_"><error id="42" name="GeneralUnhandledException" uid="184feeaf-906a-e411-9b2a-00155d388b02" Exception="System.Data.StrongTypingException: The value for column 'PROJ_TYPE' in table 'Project' is DBNull. ---> System.InvalidCastException: Specified cast is not valid. at Microsoft.Office.Project.Server.Schema.ProjectDataSet.ProjectRow.get_PROJ_TYPE() --- End of inner exception stack trace --- at Microsoft.Office.Project.Server.Schema.ProjectDataSet.ProjectRow.get_PROJ_TYPE() at Microsoft.Office.Project.Server.BusinessLayer.Project.FixupProjectType(ProjectDataSet projDS) at Microsoft.Office.Project.Server.BusinessLayer.Project.QueueCreateProject(Guid jobUid, ProjectDataSet dataset, Boolean validateOnly) at Microsoft.Office.Project.Server.Wcf.Implementation.ProjectImpl.<>c__DisplayClasse.<QueueCreateProject>b__d() at Microsoft.Office.Project.Server.Wcf.Implementation.WcfMethodInvocation.InvokeBusinessObjectMethod(String businessObjectName, String methodName, IEnumerable`1 actions)"/></class></general></errinfo></detail></s:Fault></s:Body></s:Envelope>