Multiple Session Connectivity

Multiple provisioning systems may be connected via the XML/SOAP Interfaces simultaneously. All systems can issue commands that do read or write. If more than one system requests to start a transaction, or issues an update/delete request, contention for write access will be handled as follows:

  • The first system to submit a write request will be granted access, if it is authorized for write access.
  • If a second system submits a write request while the first transaction is still open, it will either be immediately rejected with WRITE_UNAVAIL error code, or will be queued for a specified time out period to wait on the first system’s transaction to complete.
  • The time out period can be specified by the user in the start transaction/update/delete request. Valid value are from 0 to 3600 seconds. If the value is not included or is set to 0, the second request will be immediately rejected with WRITE_UNAVAIL error code.
  • If the time out value is set to any non-zero value, the second start transaction or update/delete request will be held for that time period before being rejected. If the first user releases the transaction before the second user’s time out period has expired, the second user will then be granted write access.
  • If a third user submits a start transaction or update/delete request after the second user with a specified time out period, the third user’s request will be queued behind the second user’s request. Once the first user releases the transaction, the second user is granted access. After the second user releases the transaction, the third user is granted access and so forth. If any user’s time out period expires, that request will be immediately rejected with WRITE_UNAVAIL error code.
  • If the third user sets a time out period longer than the second user, and the second user’s time out period expires before the first user releases the transaction, the second user’s request will be dropped from the queue and the third user will move up in the queue. Thus, if the first user then releases the transaction before the third user’s time out has expired; the third user will be granted access.