addDefaultBinding("service1", serviceURL1);
addDefaultBinding("service2", serviceURL2);
addDefaultBinding("service3", serviceURL3);
UserTransaction tx = UserTransactionFactory.userTransaction();
// start the transaction
try {
tx.begin();
} catch (WrongStateException e) {
exception = e;
} catch (SystemException e) {
exception = e;
}
if (exception != null) {
error("txbegin failure " + exception);
return;
}
// invoke the service and tell it to prepare and commit
List<String> commands = new ArrayList<String>();
List<String> results = new ArrayList<String>();
commands.add("block");
commands.add("serve");
commands.add("{service1}");
commands.add("enlistDurable");
commands.add("prepare");
commands.add("commit");
commands.add("next");
commands.add("serve");
commands.add("{service2}");
commands.add("enlistDurable");
commands.add("prepare");
commands.add("commit");
commands.add("next");
commands.add("serve");
commands.add("{service3}");
commands.add("enlistDurable");
commands.add("prepare");
commands.add("commit");
commands.add("endblock");
try {
processCommands(commands, results);
} catch (Exception e) {
exception = e;
}
if (exception != null) {
error("test failure " + exception);
return;
}
// now commit the transaction
try {
tx.commit();
} catch (TransactionRolledBackException e) {
exception = e;
} catch (UnknownTransactionException e) {
exception = e;
} catch (SystemException e) {