Republican presidential candidate John McCain has accused former Defense Secretary Donald Rumsfeld of mismanaging the war in Iraq .