2017-03-27 6 views
0

Project Server 2013では、これを達成するためにSOAP APIのQueueUpdateProjectRequestを使用していますが、2016年にはSOAPを使用してプロジェクトをチェックアウトすることさえできません。MS Projectサーバー2016タスクのカスタムフィールドを更新する

我々は/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> 

とget:

<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> 

我々はまた、カスタムフィールドを使用して、カスタムフィールドの値を書いてみました システムフィールドの値を正しく更新している間、サーバーはカスタムフィールドの値を無視しているように見えます。

(日本語版の場合は、「Project Server/Project」への投稿をマージするときに内部名が使用されます。 210

Projectでカスタムフィールドを更新するためのドキュメントはありますが、タスクにはありません。https://github.com/OfficeDev/Project-REST-Basic-Operations/blob/master/updateprojectcustomfieldvalues.ps1

Project Server 2016のタスクのカスタムフィールドを更新する適切な方法は何ですか?

答えて

0

マイクロソフトによると、何のプロジェクトのクラスはもうPSIではありません。
https://technet.microsoft.com/en-us/library/mt422816(v=office.16).aspx#Anchor_2

Project Serverインターフェイス(PSI)ProjectクラスPSIでプロジェクトクラスがでサポートされていない
を削除Project Server 2016.すべての新しい開発では、Project Client Side Object Model(CSOM)を使用します。

ProjectクラスからPSI関数を呼び出す際に同じエラーが発生しています。
私は100%確信していませんが、サーバー自体では、REST/SOAP操作はPSIを最後に使用していると思いますので、同じエラーが発生します。

あなたがREST/SOAPで必要なものを達成できるかどうかは分かりません。 ソリューションはCSOM(マイクロソフトの提案通り)を使用することになりますが、アプリケーションに適合するかどうかわかりません。

関連する問題