Versions Compared

Key

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

Overview


This web service can be used to check the locked state of an entity or set of entities. It can also, optionally, steal any existing locks on the specified entity or entities. It can be used to determine whether your existing lock is still valid (has not expired and has not been stolen) – by has not expired and has not been stolen) – by specifying a Projector lock set id, or just to determine whether the specified entity or entities are already locked or not – by not specifying a Projector lock set id, or just to determine whether the specified entity or entities are already locked or not – by not specifying a Projector lock set id.

Request Format

...

titlePwsCheckProjectorLocks Request

...

.


Info
titleRate Limiting

In order to protect our servers from inadvertent service overuse or intentional attack, and to fairly distribute services to all our customers, we have implemented a rate limiting algorithm.  When fully deployed, this new algorithm will cause services to either succeed with new warnings or fail with new errors when services are consumed at too high a rate.  Programs that consume Projector services should be enhanced to handle rate limiting errors so that they can continue functioning properly.  For more information please visit: Projector Rate Limiting Behavior.



Request Format


Panel
titlePwsCheckProjectorLocks Request

Request Elements


Element

Data Type

Required?

Description


RequestId

Int32

No

Click here for more information

1

SessionTicket

String

Yes

Click /wiki/spaces/QA/pages/11796515 for more information

AXMhtleRqwAazB/BUJaCKA==

Locks

PwsProjectorLockRequest [1..100]

Yes

This structure contains the complete set of entities to check for existing locks. 


ProjectorLockSetId

...

Int32

...

Request Elements

Element

Data Type

Required?

Description

RequestId

Int32

No

Click here for more information

1

SessionTicket

String

Yes

Click /wiki/spaces/QA/pages/11796515 for more information

AXMhtleRqwAazB/BUJaCKA==

Locks

PwsProjectorLockRequest[1..100]

Yes

This structure contains the complete set of entities to check for existing locks. 

ProjectorLockSetId

Int32

No

If you hold an existing lock set over these entities and want to verify that the lock set is still valid, specify the lock set id here. Otherwise leave this null or omit it. Note if you do hold a lock set and do not specify the lock set id here, the service will report that the entities are currently locked. Click here for more information

LocksToSteal

PwsEntityLockSummary[1..100]

No

No

If you hold an existing lock set over these entities and want to verify that the lock set is still valid, specify the lock set id here. Otherwise leave this null or omit it. Note if you do hold a lock set and do not specify the lock set id here, the service will report that the entities are currently locked. Click here for more information


LocksToSteal

PwsEntityLockSummary [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.


Request Usage Example(s)


Code Block
languagexml
titleExample 01 - Check Locks without Stealing
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:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsCheckProjectorLocks>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AXMhtleRqwAazB/BUJaCKA==</req:SessionTicket>
            <req:Locks>
               <com:PwsProjectorLockRequest>
                  <com:EntityIdentity>
                     <com:EntityCode>P001468-001</com:EntityCode>
                     <com:LockType>P</com:LockType>
                  </com:EntityIdentity>
               </com:PwsProjectorLockRequest>
            </req:Locks>
         </pws:serviceRequest>
      </pws:PwsCheckProjectorLocks>
   </soapenv:Body>
</soapenv:Envelope>

...

ErrorNumber

ErrorCode

ErrorText

10126InvalidEnumerationValueSpecifiedAn invalid value was specified for LockType. Valid values are E, C, P, R, RT, CP, CB, I.
50024EntityNotFoundEntity PwsProjectRef (entity-reference-type) was not found.
50469EntityAlreadyLockedOne or more existing locks prevent acquisition of requested lock.

...