I am working on an asp.net application which has a registration module. To complete this registration process, we are making three different 3rd party web service calls (these services are Rest as well as SOAP). These services perform some CRUD operations in their respective systems. when these calls succeed then finally we make one database entry in User table. All these happens in one button click from the UI Registration Process: WebService1(); WebService2(); WebService3(); UpdateDatabase();
Now I need to put all these calls into one transaction, so that if any one operation fails then all previous operations should get rollback to maintain consistency across all systems.
So what is the procedure to do this. I have heard about MSDTC, but how will that be able to rollback operation performed on other 3rd party systems.