Search code examples
wsdlwsdl2javams-projectms-project-server-2010psi

How can change task percent complete in project server programmatically?


I want to develop a client code in Java (C# api was useful till now) to change task status in a project in MS Project Server. Using wsdl I can read project entities, but I couldn,t find a way to change a task "complete percent". I have two questions.

  1. Which method can help me? Is it in "PWA/_vti_bin/PSI/Project.asmx?wsdl" ? Is "queueUpdateProject()" the right method?
  2. How should I compose the request xml?

Any api or guide in Java or C# could help me.


Solution

  • Project Server communicates with PSI clients using ADO.NET Datasets. The structure isn't standard for Java and I don't know any good implementation of the Datasets in Java. Check this question.

    I agree with propose solution for that question: create proxy web service which will translate your objects serialized in Java to the .NET datasets.

    The overall workflow looks like this:

    • CheckOutProject

    • QueueAddToProject (adds tasks, resources, assignments)

    • QueueDeleteFromProject (drops tasks, resources, assignments)
    • QueueUpdateProject (updates tasks, resources, assignments, adds/drops/updates enterprise custom fields), Does not access > 1000 records per call

    • QueuePublishProject (optional)

    • QueueCheckInProject

    All documentation is here: http://msdn.microsoft.com/en-us/library/office/websvcproject.project_di_pj14mref_methods.aspx