Несколько пространств имен в сообщении ошибки мыла, приводящее к сбою десериализации FaultException

Мы'повторное подключение к веб-службе и сообщение о неисправности, которое мывозвращаешься неt десериализацию (вообще), и ни одна версия класса, которую я могу сделать, не сможет правильно десериализоваться. У нас нет контроля над серверной стороной вещей. Сервер не разрешает обнаружение, поэтому добавление? WSDL в конец URL-адреса конечной точки приводит к ошибке, а не к WSDL.

[Fiddler] [1] показывает, что возвращаемое сообщение об ошибке выглядит следующим образом:



  
    
    Client
    
      
        
          SOME_ERROR
          SOME_ERROR_CODE
          Your request was unsuccessful. blah blah blah.
        
      
    
  

Еще нет класса мымы сделали (пробуя xsd.exe, svcutil и другие, включая код, который мынаписано с нуля) может десериализовать его, когда мы попытаемся поймать его с помощью:

catch (FaultException exp)
  {
     // Never stops here. 
  }
catch (FaultException exp)
  {
     // Never stops here. 
  }
catch (SoapException se)
  {
     // Never stops here. 
  }
catch (FaultException exp)
  {
     //Always gets caught here. 
  }

Будет вызван только базовый улов FaultException, то есть мы потеряем содержимое отправляемого сообщения FaultMessage. Некоторые из классов, которые яНаписанное будет сериализовано очень близко к приведенному выше примеру, но не сможет его десериализовать, поэтому мы подозреваем, что существует проблема с пространством имен.

Вопросы:

1 - Как бы вы написали это?

2 - Это распространенная ошибка / проблема с WCF?

[1]:http://www.fiddler2.com/fiddler2/ обманщик

Ответы на вопрос(3)

Ваш ответ на вопрос