Transactions in service-oriented environments, such as those provided by Web Services, traditionally support a reduced set of the ACID properties. This has typically required providers to constantly offer a fixed level of transaction support for each client request to a service. Further, clients have been limited in their ability to combine services with different transactional guarantees into a single workflow. We present a mechanism that allows the dynamic specification of transaction support for a given service call, and a cost-based model that allows clients to automatically reason about workflows consisting of service requests with various levels of transaction support. A Web Services transactions simulator is used to verify the viability of this dynamic transaction scheme, with results indicating potential benefits for both service providers and clients.