Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Overview

This web service inserts or updates a single project task based on a detailed project task structure (PwsProjectTaskDetail). The service returns the identity (PwsProjectTaskDetail) of the project Task that has been inserted or updated. 

Request Format

PwsSaveProjectTask Request
  • PwsSaveProjectTask
    • serviceRequest: PwsSaveProjectTaskRq
      • RequestId: Int32
      • SessionTicket: String
      • DescriptionClearFlag: Boolean
      • DriveEsdAndDurationFromPlannedDatesFlag: Boolean
      • EarliestStartDateClearFlag: Boolean
      • EngagementTimestamp: String
      • ParentTaskClearFlag: Boolean
      • PredecessorsClearFlag: Boolean
      • ProjectIdentity: PwsProjectRef
      • ProjectTask: PwsProjectTaskDetail
      • StealLockFlag: Boolean
      • SubscriptionsClearFlag: Boolean

Request Elements

Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.


SessionTicket

String

Yes


Click here for more information.

AftyRXSTlnMPzozuKwq0kQ==

DescriptionClearFlag

Boolean

No

false

If updating an existing task and flag is set to 'true', existing description is cleared.

false

DriveEsdAndDurationFromPlannedDatesFlag

Boolean

No

false

If set to 'true', the duration is calculated by determining the number of minutes between the planned start date and planned end date, taking into account holidays and location working minutes per day.

false

EarliestStartDateClearFlag

Boolean

No

false

If updating an existing task and flag is set to 'true', existing earliest start date is cleared

false

EngagementTimestamp

String

No


This is a Base64 encoded timestamp utilized for engagement locking. To protect against overwriting other changes, you may optionally echo back the timestamp returned in a prior response. This will cause the request to fail if any change has been made between the two invocations.


ParentTaskClearFlag

Boolean

No

false

If updating an existing task and flag is set to 'true', existing parent task is cleared.


PredecessorsClearFlag

Boolean

No

false

If updating an existing task and flag is set to 'true', existing predecessor is cleared.


ProjectIdentity

PwsProjectRef

Yes


The identity of the project. Click here for more information.


ProjectTask

PwsProjectTaskDetail

Yes


The detail of the project task. Click here for more information.


StealLockFlag

Boolean

No

false

If set to 'true', any locks on the project will be stolen if it is currently locked, otherwise, if it is set to 'false' and a lock is in place the service will fail.

false

SubscriptionsClearFlag

Boolean

No

false

If set to 'true', subscription is cleared.

false

Request Usage Example(s)

Example 01 - create a new task
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveProjectTask>
         <pws:serviceRequest>
            <req:SessionTicket>AftyRXSTlnMPzozuKwq0kQ==</req:SessionTicket>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:DriveEsdAndDurationFromPlannedDatesFlag>false</sch:DriveEsdAndDurationFromPlannedDatesFlag>
            <sch:EarliestStartDateClearFlag>false</sch:EarliestStartDateClearFlag>
            <sch:ParentTaskClearFlag>false</sch:ParentTaskClearFlag>
            <sch:PredecessorsClearFlag>false</sch:PredecessorsClearFlag>
            <sch:ProjectIdentity>
               <com:ProjectCode>P001053-001</com:ProjectCode>
            </sch:ProjectIdentity>
            <sch:ProjectTask>
               <com:CompletedFlag>false</com:CompletedFlag>
               <com:Description>Task from WS-001 (3)</com:Description>
               <com:DurationMinutes>300</com:DurationMinutes>
               <com:EarliestStartDate>2018-01-31z</com:EarliestStartDate>
               <com:FullWbsCode>4</com:FullWbsCode>
               <com:OpenForTimeFlag>true</com:OpenForTimeFlag>
               <com:ParentTaskIdentity>
                  <com:ProjectTaskUid>1152921504608738152</com:ProjectTaskUid>
               </com:ParentTaskIdentity>
               <com:PlannedEndDateTime>2018-03-05z</com:PlannedEndDateTime>
               <com:PlannedStartDateTime>2018-03-01z</com:PlannedStartDateTime>
               <com:Predecessors>
                  <!--Zero or more repetitions:-->
                  <com:PwsProjectTaskPredecessor>
                     <com:LagMinutes>10000</com:LagMinutes>
                     <com:LinkType>ss</com:LinkType>
                     <com:PredecessorProjectTaskIdentity>
                        <com:ProjectTaskUid>1152921504608738153</com:ProjectTaskUid>
                     </com:PredecessorProjectTaskIdentity>
                  </com:PwsProjectTaskPredecessor>
               </com:Predecessors>
               <com:PreviousSiblingTaskIdentity>
                  <com:ProjectTaskUid>1152921504608738153</com:ProjectTaskUid>
               </com:PreviousSiblingTaskIdentity>               
               <com:ProjectTaskTypeIdentity>
                  <com:ProjectTaskTypeUid>1152921504608111232</com:ProjectTaskTypeUid>
               </com:ProjectTaskTypeIdentity>
               <com:TaskName>WS-003</com:TaskName>
               <com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag>
               <com:PurchaseOrderNumber>PO-003</com:PurchaseOrderNumber>
               <com:Subscriptions>
                  <!--Zero or more repetitions:-->
                  <com:PwsProjectTaskSubscription>
                     <com:UserIdentity>
                        <com:UserReferenceSystemId>019</com:UserReferenceSystemId>
                     </com:UserIdentity>
                  </com:PwsProjectTaskSubscription>
               </com:Subscriptions>
               <com:UserDefinedFields>
                  <!--Zero or more repetitions:-->
                  <com:PwsUserDefinedFieldDetail>
                     <com:UdfName>Phase 1 MS</com:UdfName>
                     <com:BooleanValue>false</com:BooleanValue>
                     <com:DataType>B</com:DataType>
                  </com:PwsUserDefinedFieldDetail>
               </com:UserDefinedFields>
            </sch:ProjectTask>
            <sch:StealLockFlag>true</sch:StealLockFlag>
            <sch:SubscriptionsClearFlag>true</sch:SubscriptionsClearFlag>
         </pws:serviceRequest>
      </pws:PwsSaveProjectTask>
   </soapenv:Body>
</soapenv:Envelope>
Example 02 - update an existing task
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveProjectTask>
         <pws:serviceRequest>
            <req:SessionTicket>AftyRXSTlnMPzozuKwq0kQ==</req:SessionTicket>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:DriveEsdAndDurationFromPlannedDatesFlag>false</sch:DriveEsdAndDurationFromPlannedDatesFlag>
            <sch:EarliestStartDateClearFlag>false</sch:EarliestStartDateClearFlag>
            <sch:ParentTaskClearFlag>false</sch:ParentTaskClearFlag>
            <sch:PredecessorsClearFlag>false</sch:PredecessorsClearFlag>
            <sch:ProjectIdentity>
               <com:ProjectCode>P001053-001</com:ProjectCode>
            </sch:ProjectIdentity>
            <sch:ProjectTask>
               <com:ProjectTaskUid>1152921504608747352</com:ProjectTaskUid>
               <com:CompletedFlag>false</com:CompletedFlag>
               <com:Description>Task from WS-001 (4)</com:Description>
               <com:DurationMinutes>300</com:DurationMinutes>
               <com:EarliestStartDate>2018-01-31z</com:EarliestStartDate>
               <com:FullWbsCode>4</com:FullWbsCode>
               <com:OpenForTimeFlag>true</com:OpenForTimeFlag>
               <com:ParentTaskIdentity>
                  <com:ProjectTaskUid>1152921504608738152</com:ProjectTaskUid>
               </com:ParentTaskIdentity>
               <com:PlannedEndDateTime>2018-03-05z</com:PlannedEndDateTime>
               <com:PlannedStartDateTime>2018-03-01z</com:PlannedStartDateTime>
               <com:Predecessors>
                  <!--Zero or more repetitions:-->
                  <com:PwsProjectTaskPredecessor>
                     <com:LagMinutes>12000</com:LagMinutes>
                     <com:LinkType>FS</com:LinkType>
                     <com:PredecessorProjectTaskIdentity>
                        <com:ProjectTaskUid>1152921504608738153</com:ProjectTaskUid>
                     </com:PredecessorProjectTaskIdentity>
                  </com:PwsProjectTaskPredecessor>
               </com:Predecessors>
               <com:PreviousSiblingTaskIdentity>
                  <com:ProjectTaskUid>1152921504608738153</com:ProjectTaskUid>
               </com:PreviousSiblingTaskIdentity>               
               <com:ProjectTaskTypeIdentity>
                  <com:ProjectTaskTypeUid>1152921504608111232</com:ProjectTaskTypeUid>
               </com:ProjectTaskTypeIdentity>
               <com:TaskName>WS-004</com:TaskName>
               <com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag>
               <com:PurchaseOrderNumber>PO-004</com:PurchaseOrderNumber>
               <com:Subscriptions>
                  <!--Zero or more repetitions:-->
                  <com:PwsProjectTaskSubscription>
                     <com:UserIdentity>
                        <com:UserReferenceSystemId>019</com:UserReferenceSystemId>
                     </com:UserIdentity>
                  </com:PwsProjectTaskSubscription>
               </com:Subscriptions>
               <com:UserDefinedFields>
                  <!--Zero or more repetitions:-->
                  <com:PwsUserDefinedFieldDetail>
                     <com:UdfName>Phase 1 MS</com:UdfName>
                     <com:BooleanValue>false</com:BooleanValue>
                     <com:DataType>B</com:DataType>
                  </com:PwsUserDefinedFieldDetail>
               </com:UserDefinedFields>
            </sch:ProjectTask>
            <sch:StealLockFlag>true</sch:StealLockFlag>
            <sch:SubscriptionsClearFlag>true</sch:SubscriptionsClearFlag>
         </pws:serviceRequest>
      </pws:PwsSaveProjectTask>
   </soapenv:Body>
</soapenv:Envelope>

Response Format

PwsSaveProjectTask Response

Response Elements

Element

Data Type

Description

Sample Data

Messages

PwsMessage

The web service response status and message. Click here for more information.


ResponseId

Int32

Click here for more information.

0

Status

RequestStatus

Click here for more information

Ok

ServerTimestampUtc

DateTime

Click here for more information.

2018-03-05T15:44:50.3461017Z

ProjectTaskIdentity

PwsProjectTaskRef

The identity of the project task that was just saved. Click here for more information.


EngagementTimestamp

String

This is a Base64 encoded timestamp utilized for engagement locking. To protect against overwriting other changes, you may optionally echo back the timestamp returned in a prior response. This will cause the request to fail if any change has been made between the two invocations.


LockStolenFromUserIdentity

PwsUserRef

If a lock is stolen in the process of updating an engagement, this identifies the user from which the lock was stolen from. Click here for more information.


Response Usage Example(s)

Example 01
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveProjectTaskResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveProjectTaskResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">0</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-03-22T15:22:21.9254018Z</ServerTimestampUtc>
            <a:ProjectTaskIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ExternalSystemIdentifier i:nil="true"/>
               <b:ProjectTaskId i:nil="true"/>
               <b:ProjectTaskUid>1152921504608747352</b:ProjectTaskUid>
            </a:ProjectTaskIdentity>
            <a:EngagementTimestamp>AAAAAA/O3Ks=</a:EngagementTimestamp>
         </PwsSaveProjectTaskResult>
      </PwsSaveProjectTaskResponse>
   </s:Body>
</s:Envelope>

Common Errors and Warnings

ErrorNumberErrorCodeErrorText
10111RequiredFieldMissingA required field is missing: PredecessorProjectTaskIdentity
16009TaskDescriptionMayNotBeSpecifiedWhenClearFlagSetThe task description may not be specified when the associated clear flag is set.
54205ProjectTaskReferenceInvalidA specified project task identity was incomplete. Each project task identity must specify either a project task id, project task uid or project task external system identifier.
54655PreviousSiblingNotChildOfParentThe task identified as this task's previous sibling is not a child of the task specified as the parent task (or it is not a top level task if the specified parent task is null or being cleared).
54657ProjectTaskNameIsRequiredThe project task name is required for new project tasks.
55066TaskPurchaseOrderSpecifiedWhenInheritingPurchase order number may not be specified when inheriting purchase order number.



  • No labels