Multiple Commands Transaction Rolled Back

This example issues several requests within one transaction which is rolled back.

Table 5-36 Multiple Commands Transaction Rolled Back Message Flow Example (XML)

Message Description
CPS—>SDS
<startTransaction timeout="10">
</startTransaction>

Request to start a transaction within 10 seconds.

Response to start transaction - success.

CPS<—SDS
<startTransactionResp>
  <res error="0" affected="0"/>
</startTransactionResp>
CPS—>SDS
<updateSubscriberDomain ent="subscriberRouting" ns="dsr">
  <domainIdentifier>operator.com</domainIdentifier>
  <ltehss>LTE_HSS_11</ltehss>
</updateSubscriberDomain>
Request to create an Domain Identifier - success.
CPS<—SDS
<updateSubscriberDomainResp>
  <res error="0" affected="1"/>
</updateSubscriberDomainResp>
CPS—>SDS
<updateSubscriber ent="subscriberRouting" ns="dsr">
  <imsi>310910421000777</imsi>
  <msisdn>15634210777</msisdn>
  <externalId>test1@oracle.com</externalId>
  <ltehss>LTE_HSS_7</ltehss>
</updateSubscriber>

Request to update existing stand-alone IMSI, MSISDN, and External Identifier - success.

CPS<—SDS
<updateSubscriberResp>
  <res error="0" affected="3”/>
</updateSubscriberResp>
CPS—>SDS
<updateSubscriberNai ent="subscriberRouting" ns="dsr">
  <host>operator.com</host>
  <user>david.leno</user>
  <ltehss>LTE_HSS_1</ltehss>
</updateSubscriberNai>

Request to create an NAI - success.

CPS<—SDS
<updateSubscriberNaiResp>
  <res error="0" affected="1"/>
</updateSubscriberNaiResp>
CPS—>SDS
<rollback/>

Transaction is rolled back by the client. None of the previous IMSI, MSISDN or NAI entities will be created.

Rollback is successful; no creations/updates are made. At this point the client could still have sent commit if they wanted, which would have resulted in the 2 IMSIs, 2 MSISDNs, and 1 NAI being created.

CPS<—SDS
<rollbackResp>
  <res error="0" affected="0"/>
</rollbackResp>