Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview


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

...

Panel
titlePwsSaveProjectTaskRole Request

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32



Click here for more information.


SessionTicket

String



Click here for more information.

AZ2QD+hg1Hm7vSa7Y3Lm3w==

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.

AAAAAA+xjsY=

**deprecated**




ProjectTaskRole

PwsProjectTaskRoleDetail



The complete set of information about the project task role. Click here for more information.


StealLockFlag

Boolean

**deprecated**

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.

true




LocksToStealPwsEntityLockSummary[1.100]No
The detailed information of the locks that are to be stolen. If not specified, the request will fail if any requested locks are already held. If specified, the information supplied must exactly match the current state of existing locks or the attempt to steal the existing locks will fail. Typically, this service is invoked with LocksToSteal empty or null. If there are existing locks, they will be returned in the LockHolders member of PwsFault. This data can then be sent, as is, back to the server in a second invocation of this service, as LocksToSteal, if the caller desires to steal the locks.
ProjectorLockSetIdInt32No
A projector lock set id is an identifier for a group of one or more locks held as a unit.
RateTaskTimestampStringNo
This is an optimistic locking timestamp that, if provided on update request, will cause the request to fail when the timestamp stored in the database does not match the provided value.

Request Usage Example(s)


Code Block
languagexml
titleExample 01
collapsetrue
<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:PwsSaveProjectTaskRole>
         <pws:serviceRequest>
            <req:SessionTicket>AZ2QD+hg1Hm7vSa7Y3Lm3w==</req:SessionTicket>
            <sch:ProjectTaskRole>
               <com:ProjectRoleIdentity>
                  <com:ProjectRoleUid>1152921504609594610</com:ProjectRoleUid>
               </com:ProjectRoleIdentity>
               <com:ProjectTaskIdentity>
                  <com:ProjectTaskUid>1152921504608735153</com:ProjectTaskUid>
               </com:ProjectTaskIdentity>
               <com:CompletedFlag>true</com:CompletedFlag>
               <com:EffortMinutes>90</com:EffortMinutes>
            </sch:ProjectTaskRole>
            <sch:StealLockFlag>true</sch:StealLockFlag>
         </pws:serviceRequest>
      </pws:PwsSaveProjectTaskRole>
   </soapenv:Body>
</soapenv:Envelope>
Code Block
languagexml
titleExample 02
collapsetrue
<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:PwsSaveProjectTaskRole>
         <pws:serviceRequest>
            <req:SessionTicket>AZ2QD+hg1Hm7vSa7Y3Lm3w==</req:SessionTicket>
            <sch:ProjectTaskRole>
               <com:ProjectTaskRoleUid>1152921504608653463</com:ProjectTaskRoleUid>
               <com:CompletedFlag>true</com:CompletedFlag>
               <com:EffortMinutes>200</com:EffortMinutes>
            </sch:ProjectTaskRole>
            <sch:StealLockFlag>true</sch:StealLockFlag>
         </pws:serviceRequest>
      </pws:PwsSaveProjectTaskRole>
   </soapenv:Body>
</soapenv:Envelope>

Response Format


Panel
titlePwsSaveProjectTaskRole Response

Response Elements


if any change has been made between the two invocations.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.

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-01T16:44:55.4574017Z

ProjectTaskRoleIdentity

PwsProjectTaskRoleRef

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


EngagementTimestamp

String

**deprecated**


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 LockStolenFromUserIdentity

PwsUserRef

**deprecated**


RateTaskTimestampStringThis is an optimistic locking timestamp that, if provided on update request, will cause the request to fail
AAAAAA+xjsY=

LockStolenFromUserIdentity

PwsUserRef

when the timestamp stored in the database does not match the provided value.
StolenLocksPwsEntityLockSummaryThis structure contains information about the locks that were stolen in order to complete this request, Will be included only when LocksToSteal is specified in the request.

Response Usage Example(s)

...

Code Block
languagexml
titleExample 01
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveProjectTaskRoleResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveProjectTaskRoleResult 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-01T16:44:55.4574017Z</ServerTimestampUtc>
            <a:ProjectTaskRoleIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ProjectRoleIdentity>
                  <b:ExternalSystemIdentifier i:nil="true"/>
                  <b:ProjectRoleId i:nil="true"/>
                  <b:ProjectRoleUid>1152921504609594610</b:ProjectRoleUid>
               </b:ProjectRoleIdentity>
               <b:ProjectTaskIdentity>
                  <b:ExternalSystemIdentifier i:nil="true"/>
                  <b:ProjectTaskId i:nil="true"/>
                  <b:ProjectTaskUid>1152921504608735153</b:ProjectTaskUid>
               </b:ProjectTaskIdentity>
               <b:ProjectTaskRoleId i:nil="true"/>
               <b:ProjectTaskRoleUid>1152921504608653387</b:ProjectTaskRoleUid>
            </a:ProjectTaskRoleIdentity>
            <a:EngagementTimestamp>AAAAAA+xjsY=</a:EngagementTimestamp>
            <a:LockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
         </PwsSaveProjectTaskRoleResult>
      </PwsSaveProjectTaskRoleResponse>
   </s:Body>
</s:Envelope>
Code Block
languagexml
titleExample 02
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveProjectTaskRoleResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveProjectTaskRoleResult 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-01T18:27:57.946679Z</ServerTimestampUtc>
            <a:ProjectTaskRoleIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ProjectRoleIdentity>
                  <b:ExternalSystemIdentifier i:nil="true"/>
                  <b:ProjectRoleId i:nil="true"/>
                  <b:ProjectRoleUid>1152921504609594610</b:ProjectRoleUid>
               </b:ProjectRoleIdentity>
               <b:ProjectTaskIdentity>
                  <b:ExternalSystemIdentifier i:nil="true"/>
                  <b:ProjectTaskId i:nil="true"/>
                  <b:ProjectTaskUid>1152921504608735787</b:ProjectTaskUid>
               </b:ProjectTaskIdentity>
               <b:ProjectTaskRoleId i:nil="true"/>
               <b:ProjectTaskRoleUid>1152921504608653463</b:ProjectTaskRoleUid>
            </a:ProjectTaskRoleIdentity>
            <a:EngagementTimestamp>AAAAAA+yU64=</a:EngagementTimestamp>
            <a:LockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
         </PwsSaveProjectTaskRoleResult>
      </PwsSaveProjectTaskRoleResponse>
   </s:Body>
</s:Envelope>

PwsSaveProjectTaskRole - Common Errors and Warnings

ErrorNumberErrorCodeErrorText
54207ProjectTaskNotFoundThe specified project task does not exist.
54274ProjectTaskRoleNotFoundThe specified project task role does not exist.