【发布时间】:2017-08-20 14:57:42
【问题描述】:
对于 Project Server 2013,我们一直使用 SOAP API 的 QueueUpdateProjectRequest 来实现这一点,但在 2016 年,我们甚至无法使用 SOAP 签出项目。
我们尝试 POST 到 /PWA/_vti_bin/psi/Project.asmx:
<?xml version='1.0' encoding='UTF-8' ?><ns2:Envelope xmlns:ns3="http://schemas.microsoft.com/office/project/server/webservices/Project/" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"><ns2:Header></ns2:Header><ns2:Body><ns3:CheckOutProject><ns3:projectUid>7475f3ef-226e-e611-80d3-0050568a983b</ns3:projectUid><ns3:sessionUid>c430ce2b-057e-4990-b5b6-9c6f28415739</ns3:sessionUid><ns3:sessionDescription></ns3:sessionDescription></ns3:CheckOutProject></ns2:Body></ns2:Envelope>
然后得到:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://Microsoft.Office.Project.Server">a:ProjectServerFaultCode</faultcode><faultstring>Unhandled Communication Fault occurred</faultstring><detail><string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Incorrect inproc routing. No inproc host is available for Project.</string></detail></s:Fault></s:Body></s:Envelope>
当 Merge Posting 到 /ProjectServer/Projects('{#project}')/Draft/Tasks('{#Id}' 时,我们还尝试使用自定义字段内部名称编写自定义字段值。 服务器似乎在正确更新系统字段值时忽略了自定义字段值。
在 Project 上有更新自定义字段的文档,但在 Task:https://github.com/OfficeDev/Project-REST-Basic-Operations/blob/master/updateprojectcustomfieldvalues.ps1 上没有更新
在 Project Server 2016 中更新任务自定义字段的正确方法是什么?
【问题讨论】:
标签: rest soap ms-project