Service Oriented Architectures (SOAs) have emerged as a preferred solution to tackle the complexity of large-scale, complex, distributed, and heterogeneous systems. Key to successful operation of these systems is their reliability and availability. In this paper, we propose an approach to creating fault tolerant SOA implementations based on an architectural pattern called Rich Services. Our approach is model-driven, focuses on interaction specifications as the means for defining services and managing their failures, and is technology independent. We leverage an Enterprise Service Bus (ESB) framework to implement a system based on the fault tolerant Rich Service pattern. We evaluate our approach by measuring availability and reliability of an experimental system in the e-business domain.