We propose a formalism for specifying and executing semantic web services in a transactional way. The formalism is based on the following elements: (1) the service is part of an agent with state codified by positive facts. The set of possible states during the agent’s lifetime is constrained by an invariant. (2) Two types of services are considered: services which can change the agent’s state (stateful service) and services which can not (stateless service). The first ones include in their specifications a transaction written in Transaction Logic and therefore operationally interpreted by sequences of states. (3) The execution of the stateful service may generate inconsistencies (states that do not satisfy the invariant). (4) We propose to repair inconsistencies by making use of a chase procedure. (5) According to transactional semantics, a service execution is undone if a repair is not possible. Keywords: chase, invariant, pre-condition, post-condition, query, service execution, semantic web service, state, transaction.