Тема: WebException, Як отримати повідомлення помилки від SAOP сервера

Якщо клієнт звертається до сервера, в якого вже завершилася сесія (а клієнт звернувся з даними що не відносяться до поточної сесії) сервер має повернути помилку, код помилки.
Потрібно повернути код помилки "-3"
(-3 це код який я придумав для помилки SESSION_HAS_BEEN_EXPIRED)

throw new SoapException("SESSION_HAS_BEEN_EXPIRED",
                           new XmlQualifiedName("SESSION_HAS_BEEN_EXPIRED | Code: -3"));

Клієнт має отримати цю помилку

try
            {
                using (WebResponse Serviceres = request.GetResponse())
                {
                    using (StreamReader rd = new StreamReader(Serviceres.GetResponseStream()))
                    {
                        XmlSerializer serializer =
                            new XmlSerializer(typeof(ServiceResult));

                        //reading stream  
                        var ServiceResult = rd.ReadToEnd();

                        //load xml
                        XmlDocument doc = new XmlDocument();
                        doc.LoadXml(ServiceResult);

                        //writting stream result  
                        return doc.GetElementsByTagName("soap:Body")[0].
                            ChildNodes[0].
                            ChildNodes[0].
                            InnerText;
                    }
                }
            }
            catch (WebException ex)
            {
                Console.WriteLine(" -->>> Error: " + ex.Message);

                using (var stream = ex.Response.GetResponseStream())
                using (var reader = new StreamReader(stream))
                {
                    Console.WriteLine(reader.ReadToEnd());
                }
                return "-3";
            }

Проблема в тому що повідомлення помилки приходить "500 Internal Server Error", хоча в потоці Response є і моя помилка

http://replace.org.ua/extensions/om_images/img/5eaf0149dea10/f88.png

Як правильно створити виняток (Throw Exception) і отримати його ? Зараз єдиний вихід це читати потік Response, а потім його парсити. Можна зробити так щоб повідомлення відправлялося зразу "-3" ?