2009-11-19 5 views
0

Итак, у меня есть клиент WCF, использующий веб-сервис ASMX. Все работает отлично, за исключением обработки исключений.WCF - ASMX - CommunicationException

Где я должен получить (внедоговорное) исключение FaultException, я получаю сообщение CommunicationException.

Что может быть неправильным?


Здесь идет соответствующие данные:

ответ SOAP (кажется, в соответствии со спецификацией):

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><soap:Code><soap:Value>soap:Sender</soap:Value></soap:Code><soap:Reason><soap:Text xml:lang="en">User not found or password is incorrect (User not found)</soap:Text></soap:Reason><soap:Node>Login</soap:Node><detail><ErrorInfo xmlns="http://tempuri.org/"><Area>Security</Area><ErrorCode>1</ErrorCode><Message>User not found or password is incorrect (User not found)</Message></ErrorInfo></detail></soap:Fault></soap:Body></soap:Envelope> 

ex.Message (CommunicationException):

Server returned an invalid SOAP Fault. Please see InnerException for more details. 

экс .InnerException.Message (XmlException):

End element 'Fault' from namespace 'http://www.w3.org/2003/05/soap-envelope' expected. Found element 'detail' from namespace ''. Line 1, position 444. 

ответ

0

< подробнее> не соответствует стандарту SOAP12 (у него не было пространства имен), сервис должен был использоваться через конечную точку SOAP11.

+0

Что делать, если я не могу управлять сервером? –

+0

@Summer - Затем измените клиент на использование и ожидайте Soap11. –

Смежные вопросы