1

PHP Soap Web サービスの 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"
}

login/pass/apikey などは必要なものを取得するよりも問題ありませんが、sth が間違っている場合は適切な情報を表示できません。

SOAPがエラーを返したかどうかを確認する方法は? 問題をグーグルで検索しましたが、貴重な情報が見つかりませんでした。

残念ながら、Webサービスを変更することはできません。

助けてくれてありがとう。

4

1 に答える 1

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