Обработайте исключения SOAP с помощью нескольких блоков catch - PullRequest
2 голосов
/ 08 февраля 2011

Это (*) исключение ObjectLockedException, возвращаемое веб-службой на основе Java. Я хочу поймать эту конкретную ошибку в .NET.

Я использую C #. Кто-нибудь может предложить метод для кода ниже? Я имею в виду, как я могу заставить это работать?

try{
 service.something();

}catch(ObjectLockedException exx)
{
  alert("Hey!, remove the lock");
}
catch
{
//this block is for the rest of the exceptions
}

(*) Подробное объяснение исключения, которое я хочу поймать; java.rmi.RemoteException: ошибка при подготовке экземпляра QS.TYR.611; Вложенное исключение: xy.zrt.ugy.business.ObjectLockedException: не удалось получить блокировку для QS.TYR.611

1 Ответ

0 голосов
/ 10 февраля 2011

Если операция «что-то» в вашем сервисе имеет договор о сбое, тогда будет тип детали, который содержит информацию об ошибке для сбоя.Ищите FaultContractAttribute в интерфейсе вашего сервиса.Учитывая этот тип, T, вы можете поймать FaultException<T>.

Если нет договора о сбое, вам придется поймать FaultException и выбрать его на части.

Маловероятночто вы можете перехватить вложенное исключение напрямую ... но в конечном итоге это зависит от договора об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...