Quantcast
Channel: Question and Answer » web-services
Viewing all articles
Browse latest Browse all 136

Creating a new project in Microsoft Project with custom fields using web services

$
0
0

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.&lt;>c__DisplayClasse.&lt;QueueCreateProject>b__d()
at Microsoft.Office.Project.Server.Wcf.Implementation.WcfMethodInvocation.InvokeBusinessObjectMethod(String businessObjectName, String methodName, IEnumerable1 actions)"/>
</class>
</general>
</errinfo>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>


Viewing all articles
Browse latest Browse all 136

Trending Articles