Для получения информации для людей, интересующихся темами, ответ Джейкоба Проффитта выглядит как путь. вот отрывок из документации Dynamics GP:
catch(SoapException soapErr)
{
// If a validation exception occurred, the logid will be in a child node
if(soapErr.Detail.HasChildNodes == true)
{
// Create a guid for the logid value in the soap exception
Guid guid = new Guid(soapErr.Detail.InnerText);
// Get the validation result object
validationResult = wsDynamicsGP.GetLoggedValidationResultByKey(guid, context);
// Display the number of validation exceptions
MessageBox.Show("Number of validation exceptions: " +
validationResult.Errors.Length.ToString());
}
}
Но в случае, который я привел: GetCustomer с несуществующим идентификатором, строка "soapErr.Detail.HasChildNodes" имеет значение false, поэтому она не работает.
Веб-сервисы кажутся забавными, это займет больше времени, чем я ожидал: (.