I would probably suggest leaving your CFCs with all of the cftransactions as they are, to maintain the black box characteristic. Then I would build some sort of log in the webservice that is invoking all of these other cfcs, to track what should be undone if some step fails. Throw it all inside a try/catch block and then when you have an error, throw an exception, and in your catch block, run through the undo steps. This is analogous to what the database will do when you use transactions, but since you want to do it across multiple cfcs you have to manage it yourself.
Just my idea. -Chris > Hey All, > > The setup: > I have webservices that are essentially wrappers for internal CFCs. > They perform some added valoidation, but essentially pass arguments > through to internal CFCs. They often call multiple internal CFCs > which each have a CFTRANSACTION block. > > The problem: > I really need ALL the methods called by the webservices to either to > commit the data they are attempting to or all data changes across all > methods called by a webservices should be rolled back. Of course as > we know you cannot nest CFTRANSACTION blocks. > > So whatya think I should do? > > I did think of removing the CFTRANSACTION blocks from the internal > CFCs, but that doesn't seem right.....then developers would have to > know to wrap calls to the methods in those CFCs with CFTRANSACTION.... > and that flys in the face of the "black box" characteristics of CFCs.... > all you should need to know about them is their name and the arguments > and associated data types (it would also mean webservice consumers > could skip the CFTRANSACTION step and screw my data). > > TIA > > Cheers > > Bryan Stevenson B.Comm. > VP & Director of E-Commerce Development > Electric Edge Systems Group Inc. > phone: 250.480.0642 > fax: 250.480.1264 > cell: 250.920.8830 > e-mail: [EMAIL PROTECTED] > web: www.electricedgesystems. com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:221511 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

