Service composition is an important means for integrating the individual Web services to create new value added systems that can satisfy complex requirements. However, it is a challenge to enforce fault diagnosis mechanism for those applications due to the uncertainty of service quality in distributive and heterogeneous environment. In this paper, a Byzantine fault diagnosis method for service composition based on Petri nets is proposed. The reliability of service are taken into account for the appropriate selection of required services. And a service composition fault net (SCFN) is proposed, which can be used to model different components of service composition. Finally, the fault detection strategy is provided for processing fault of service composition in dynamic environment. Theories of Petri nets help prove its correctness and effectiveness, thus guarantee the reliability of service composition. A case study illustrates the applicability of proposed method, and its feasibility has been demonstrated by simulation.