Sdílet prostřednictvím


Behandeln von Fehlern, die beim Verarbeiten eines SOAP-Headers auftreten

Wenn ein Webdienst einen für die Verarbeitung eines SOAP-Headers spezifischen Fehler erkennt, muss SoapHeaderException ausgelöst werden. Durch diese Ausnahmeklasse können Webdienste die Antwort ordnungsgemäß formatieren. Beispiel:

throw new SoapHeaderException("invalid user",SoapException.ClientFaultCode); 
Throw New SoapHeaderException("invalid user", SoapException.ClientFaultCode)

Wenn der Client mit .NET Framework erstellt wird, empfängt er SoapHeaderException mit dem zugehörigen Inhalt, einschließlich der InnerException-Eigenschaft, in der Message-Eigenschaft. Die InnerException-Eigenschaft von SoapHeaderException, die vom Client abgefangen wird, ist null. Dies ist ein von .NET Framework unterstütztes Programmiermodell, da die Ausnahme in einem SOAP-<Fault>-XML-Element entsprechend der SOAP-Spezifikation über das Netzwerk gesendet wird. Weitere Informationen zu Ausnahmen finden Sie unter Behandeln und Auslösen von Ausnahmen in XML-Webdiensten.

Hinweis: .NET Framework, Version 1.0, umfasst die SoapHeaderAttribute.Required-Eigenschaft, durch die ein Webdienst die Anforderung stellen kann, dass ein Client einen bestimmten SOAP-Header sendet, wenn die Eigenschaft auf true festgelegt ist. ASP.NET gibt an, dass der SOAP-Header in einem generierten WSDL-Dokument erforderlich ist, indem das wsdl:required-Attribut im soap:header-Element auf "true" festgelegt wird. .NET Framework-Clients des aus dem WSDL-Dokument erstellten Webdiensts empfangen SoapHeaderException, wenn sie den erforderlichen SOAP-Header nicht senden; andere Clients empfangen einen SOAP-Fehler. Für eine Interoperation mit anderen SOAP-Implementierungen steht diese Funktionalität in höheren Versionen nicht mehr zur Verfügung.

Die Required-Eigenschaft ist in Version 1.1 überholt, und das wsdl:required-Attribut eines soap:header-Elements in einem WSDL-Dokument wird vom Web Services Description Language-Tool (Wsdl.exe) ignoriert. Da ein SOAP-Header nicht mehr erforderlich sein kann, muss ein Webdienst vor dem Zugriff prüfen, ob das Feld oder die Eigenschaft, die den SOAP-Header darstellt, nicht null ist.

Siehe auch

Referenz

SoapHeaderException
SoapHeader
SoapHeaderAttribute
SoapUnknownHeader

Konzepte

Behandeln und Auslösen von Ausnahmen in XML-Webdiensten
Erstellen von XML-Webdienstclients

Weitere Ressourcen

XML-Webdienste, die ASP.NET verwenden

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.