2010-01-26 5 views
1

PHP Soap webservice에서 작성된 SoapFault 응답을 확인하는 데 문제가 있습니다. Responce이 (기본값은 SOAP "새로운 SOAPFault에 (던져"과 같습니다 CLIENT ","나쁜 로그인을 ");"PHP 비누가 soapFault를 반환했는지 여부를 C#으로 확인하십시오.

<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에 내가 필요한 것을 얻을 수 있지만, STH가 잘못했을 때 적절한 정보를 표시하지 못할 것보다보다 OK입니다. SOAP는 오류를 반환하는 경우

어떻게 확인? 나는이 문제에 대한 인터넷 검색,하지만 가치있는 정보를 찾을 수 couldnt한다.

유감스럽게도 웹 서비스를 변경할 수 없습니다.

도움 주셔서 감사합니다. 내가 시도 {...} 캐치 (SoapException 예) {...} 캐치 (예외 예)를 사용할 때

답변

0
catch (SoapException ex) 
{ 
    Console.WriteLine(ex.Detail.OuterXml); 
} 
+0

Unfortunetly SoapException가 비어 {..} 는 직선도 함께 시도 예외 로 이동 XmlExceptions하지만 그들은 또한 "비어있다" – cichy

+0

편집 : 왜 그런지 모르지만, 컴파일 작업이 시작된 후 :/ 어쨌든 Thx : – cichy

관련 문제