Oto moja odpowiedź koperta:Błędy typowane przez WCF i błąd serwera wewnętrznego 500?
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring xml:lang="en-US">The creator of this fault did not specify a Reason.</faultstring>
<detail>
<ServiceFault xmlns="http://schemas.datacontract.org/2004/07/Zagat.Services.FaultException" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ReasonCollection xmlns:a="http://schemas.datacontract.org/2004/07/Zagat.Enterprise.Domain"/>
<ReasonMessage>Credentials are not valid</ReasonMessage>
</ServiceFault>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
enter code here
Oto moja Header:
HTTP/1.1 500 Internal Server Error
Date: Wed, 01 Jul 2009 17:55:33 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Content-Length: 564
Jak mogę uzyskać IIS zwraca 200 zamiast 500? Mój kod działa na serwerze, właśnie wysyłam błąd do klienta do przetworzenia.
Daniel
Czy otrzymujesz tę wiadomość w wyjątku ProtocolException? Wystąpił problem z tymi wyjątkami, ponieważ zawsze otrzymałem kod HTML w komunikacie wyjątku. Teraz tylko przypuszczam, że każdy wyjątek protokołu przychodzi z tym kodem HTML i parsuję go, aby uzyskać prawdziwą wiadomość. http://stackoverflow.com/questions/998065/does-system-servicemodel-protocolexception-always-have-html-code-in-its-message – sebagomez