private static void protectWSCall(ActionToProtect action) { // http://msdn.microsoft.com/en-us/library/dd877917.aspx try { action(); } catch (SoapException ex) { var msg = displayErrors(ex, ex.Detail); throw new Exception(msg, ex); } }