1

我在检查 PHP Soap webservice 中 writen 的 SoapFault 响应时遇到问题。响应看起来像这样(默认 "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 是否返回错误?我搜索了这个问题,但找不到有价值的信息。

不幸的是,我无法更改网络服务。

谢谢你的帮助。

4

1 回答 1

0
catch (SoapException ex)
{
    Console.WriteLine(ex.Detail.OuterXml);
}
于 2010-01-26T17:41:15.830 回答