Ich rufe einen C # -Webdienst mit dem .net-Dienstmodell auf, und gelegentlich löst dieser Webdienst Microsoft.SharePoint.SoapServer.SoapServerException aus. Ich kann diese bestimmte Ausnahme als eine FaultException in meinem Clientcode abfangen, aber ich kann die freundliche Fehlermeldung, die vom Webdienst mit FaultException zurückgegeben wird, nicht abrufen.
Nachfolgend ist die Netzwerkablaufverfolgung für den Web-Service aufgeführt, wenn eine Ausnahme vorliegt.
%Vor%Ich bin sehr daran interessiert, den Inhalt zwischen dem Fehlerkettenknoten in der obigen Antwort zu bekommen. Von der FaultException-Klasse kann ich die obige Fehlermeldung jedoch nicht abrufen. Bedeutet das, dass das .NET-Framework die obige Antwort nicht korrekt deserialisiert oder verwende ich hier die falsche Exception-Klasse.
Die einzige Fehlermeldung, die ich von FaultException erhalten konnte, ist "Ausnahme vom Typ" Microsoft.SharePoint.SoapServer.SoapServerException "wurde" nichts anderes "geworfen.
Bitte beachten Sie, dass ich keine Kontrolle über den Web-Service habe.
Web Services verwenden keine direkten Ausnahmen. Stattdessen geben sie Fehler zurück. Die WSDL soll die möglichen Fehler zusammen mit dem Inhalt des Elements <detail/>
beschreiben. Sie müssen sich die WSDL ansehen, um festzustellen, welcher Fehler an Sie zurückgegeben wird.
Wenn der Fehler SharePointFault
heißt, übersetzt WCF dies in eine Ausnahme namens FaultException<SharePointFault>
. Diese Ausnahme wird wahrscheinlich Eigenschaften für errorstring
und errorcode
haben. Sie sollten diese Eigenschaften verwenden können, um die in der Fehlernachricht gesendeten Werte abzurufen.
Tags und Links wcf c# sharepoint