Проверьте в C #, вернул ли мыло php - PullRequest
1 голос
/ 26 января 2010

У меня проблема с проверкой ответа SoapFault, написанного на веб-сервисе PHP Soap. Ответ выглядит следующим образом (по умолчанию "throw new SoapFault (" SOAP: CLIENT "," Bad login ");"

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
    <SOAP-ENV:Fault>
        <faultcode>SOAP:CLIENT</faultcode>
        <faultstring>Bad login</faultstring>
    </SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

И код C # выглядит так:

try
{
   //creating new webservice, filling headers and alling something
   webservice = new...
   items = webservice.getSth();
}
catch ( Exception ex )
{
   MessageBox.Show(ex.Message); -> "Namespace prefix 'SOAP' not defined"
}

Когда логин / пароль / apikey и т. Д. В порядке, тогда я получаю то, что мне нужно, но когда что-то не так, я не могу отобразить правильную информацию.

Как проверить, вернул ли SOAP ошибку? Я погуглил проблему, но не смог найти ценную информацию.

К сожалению, я не могу изменить веб-сервис.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 26 января 2010
catch (SoapException ex)
{
    Console.WriteLine(ex.Detail.OuterXml);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...