About TransactionOperation and AdminOperation
Many programming languages are unable to store an array of objects of different data types. These languages cannot use the Administrate or Transaction elements alone. An Administrate operation that contains several different suboperations is likely to fail in these languages. A programmer working with one of these languages can perform multiple tasks in a single operation by using the AdminOperation and TransactionOperation elements.
An AdminOperation request represents a single unit of work within an Administrate operation. A TransactionOperation request represents a single unit of work within a Transaction. The external programming language treats each AdminOperation request or TransactionOperation request as one object. BIRT iHub processes each task within an AdminOperation request or TransactionOperation request as a single unit of work. Because AdminOperation is subordinate to Administrate, AdminOperation can contain any number of transactions. These transactions can contain any number of TransactionOperation requests.
In the following example, Administrate consists of two AdminOperation requests. The second AdminOperation request contains a single Transaction that consists of two TransactionOperation requests.
<SOAP-ENV:Body>
<Administrate>
<AdminOperation>
<CreateGroup> … </CreateGroup>
</AdminOperation>
<AdminOperation>
<Transaction>
<TransactionOperation>
<CreateUser>
<User>
<Name>jsheboah</Name>
<Password>grandee</Password>
<EmailAddress>jsheb@corporate.com
</EmailAddress>
<SendNoticeForSuccess>true
</SendNoticeForSuccess>
<SendNoticeForFailure>true
</SendNoticeForFailure>
</User>
<IgnoreDup>true</IgnoreDup>
</CreateUser>
</TransactionOperation> <TransactionOperation>
<CopyFile>
<Target>/Headquarters</Target>
<Name>/EmployeeList.rptdesign</Name>
</CopyFile>
</TransactionOperation>
</Transaction>
</AdminOperation>
</Administrate>
</SOAP-ENV:Body>
In this example, if the first AdminOperation request succeeds, BIRT iHub saves the data about the new group and proceeds to the next request, CreateUser. If CreateUser fails, processing stops and BIRT iHub does not process CopyFile.