Я должен использовать сторонний веб-сервис, использующий SOAP. Было легко заставить его работать с WCF, но теперь у меня проблема с ошибками SOAP. Служба отправляет мне неправильную ошибку SOAP:
<?xml version="1.0" encoding="utf-8" ?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<SOAP-ENV:faultcode>14</SOAP-ENV:faultcode>
<SOAP-ENV:faultstring>Unknown Function</SOAP-ENV:faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Ошибка в том, что <faultcode>
не должно иметь пространства имен:
System.ServiceModel.CommunicationException : Server returned an invalid
SOAP Fault. Please see InnerException for more details.
----> System.Xml.XmlException : Start element 'faultcode' from namespace
'' expected. Found element 'SOAP-ENV:faultcode' from namespace
'http://schemas.xmlsoap.org/soap/envelope/'.
Я не могу изменить исходный веб-сервис - но есть ли в WCF что-либо, что я могу использовать для обработки этих сообщений об ошибках каким-либо образом, не получая CommunicationException
все время?