PwsFault

Overview


This structure is returned when a request against a specified entity (i.e. Resource, Invoice, Project, etc..) fails due to an existing lock.

Elements


ElementData TypeDescriptionSample Data
MessagePwsMessageThe error message(s) (and possibly warnings and informational messages) related to the error(s) that were thrown.
ResponseIdIntThe request id, as specified in the original request1
ServiceNameStringThe name of the service that triggered the error.PwsIssueInvoiceRs
LockHolderUserIdentityPwsUserRef If the request failed due to one or more existing locks, this identifies the user that holds the lock. If there are multiple lock holders, this is set to the first lock holder.
LockHoldersPwsEntityLockSummary If the request failed due to one or more existing locks, this identifies the locks that blocked the operation.
LockTakerPwsStolenLockIf this operation failed because the lock that was specified was stolen, this provides information about the theft, including the identity of the user who stole the lock.
AllowLocksToBeStolenFlagBooleanIf the request failed due to one or more existing locks, this flag indicates whether the caller is able to steal the locks. Certain locks, initiated by internal processes, cannot be stolen. true

Usage Example(s)


Example 01
            <PwsFault xmlns="http://projectorpsa.com/DataContracts/Shared/Common/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
               <Messages>
                  <PwsMessage>
                     <AdditionalErrorText>Error 50469, State 1: One or more existing locks prevent acquisition of requested lock.</AdditionalErrorText>
                     <ErrorCode>EntityAlreadyLocked</ErrorCode>
                     <ErrorNumber>50469</ErrorNumber>
                     <ErrorText>One or more existing locks prevent acquisition of requested lock.</ErrorText>
                     <Type>Error</Type>
                     <ReferenceId1 i:nil="true"/>
                     <ReferenceId2 i:nil="true"/>
                  </PwsMessage>
                  <PwsMessage>
                     <AdditionalErrorText>Message 136: This request was executed against the QA [appqa.projectorpsa.com] environment.</AdditionalErrorText>
                     <ErrorCode>NonProductionEnvironment</ErrorCode>
                     <ErrorNumber>136</ErrorNumber>
                     <ErrorText>This web service request was executed against a non-production instance of Projector.</ErrorText>
                     <Type>Information</Type>
                     <ReferenceId1 i:nil="true"/>
                     <ReferenceId2 i:nil="true"/>
                  </PwsMessage>
               </Messages>
               <ResponseId>1</ResponseId>
               <ServiceName>PwsIssueInvoiceRs</ServiceName>
               <LockHolderUserIdentity>
                  <UserDisplayName>Bettina</UserDisplayName>
                  <UserId i:nil="true"/>
                  <UserReferenceSystemId>QA - 01</UserReferenceSystemId>
                  <UserUid>1152921504607011056</UserUid>
               </LockHolderUserIdentity>
               <LockHolders>
                  <PwsEntityLockSummary>
                     <EntityIdentity>
                        <EntityCode>DRAFT00795</EntityCode>
                        <EntityId i:nil="true"/>
                        <EntityUid>1152921504607896006</EntityUid>
                        <LockType>I</LockType>
                     </EntityIdentity>
                     <EntityLockSummary>
                        <PwsEntityLockSummaryItem>
                           <LockCount>1</LockCount>
                           <LockHolderUserIdentity>
                              <UserDisplayName>Bettina</UserDisplayName>
                              <UserId i:nil="true"/>
                              <UserReferenceSystemId>QA - 01</UserReferenceSystemId>
                              <UserUid>1152921504607011056</UserUid>
                           </LockHolderUserIdentity>
                           <MostRecentLockAcquisitionTimestamp>2023-02-21T21:24:45.663Z</MostRecentLockAcquisitionTimestamp>
                        </PwsEntityLockSummaryItem>
                     </EntityLockSummary>
                  </PwsEntityLockSummary>
               </LockHolders>
               <LockTaker i:nil="true"/>
               <AllowLocksToBeStolenFlag>true</AllowLocksToBeStolenFlag>
            </PwsFault>