Condividi tramite


Gestione degli errori che si verificano durante l'elaborazione di un’intestazione SOAP

Questo argomento è specifico di una tecnologia legacy. Servizi Web XML e client di servizi Web XML devono essere creati attualmente tramite Windows Communication Foundation.

Quando un servizio Web rileva un errore specifico dell'elaborazione di un'intestazione SOAP, dovrebbe essere generata un’eccezione SoapHeaderException. L'utilizzo di questa classe di eccezioni consente ai servizi Web di formattare correttamente la risposta. Vedere l'esempio di chiamata seguente:

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

Se il client è stato creato utilizzando .NET Framework, riceverà un’eccezione SoapHeaderException con il contenuto, inclusa la proprietà InnerException, situata nella proprietà Messaggio. La proprietà InnerException dell’eccezione SoapHeaderException intercettata dal client sarà null. Poiché l’eccezione viene inviata sulla rete in un elemento XML <Fault>, secondo quanto previsto nella specifica SOAP, questo è un modello di programmazione supportato da .NET Framework. Per maggiori dettagli sulle eccezioni, vedere Gestione e generazione di eccezioni nei servizi Web XML.

Nota: .NET Framework versione 1.0 include la proprietà SoapHeaderAttribute.Required che consente a un servizio Web di richiedere al client di inviare una specifica intestazione SOAP quando la proprietà è impostata su true. ASP.NET indica che è richiesta l'intestazione SOAP in un documento WSDL impostando l'attributo wsdl:required su true per l'elemento soap:header. I client .NET Framework del servizio Web generato dal documento WSDL ricevono un'eccezione SoapHeaderException se non inviano l'intestazione SOAP richiesta e gli altri client ricevono un errore SOAP. Per interoperare con altre implementazioni SOAP, questa funzionalità è stata eliminata nelle versioni successive.

La proprietà Required è obsoleta nella versione 1.1 e l'attributo wsdl:required dell'elemento soap:header in un documento WSDL viene ignorato dallo strumento del linguaggio di descrizione dei servizi Web (Wsdl.exe). Dal momento che non è più possibile richiedere un'intestazione SOAP, un servizio Web dovrebbe verificare che il campo o la proprietà che rappresenta l'intestazione SOAP non sia null prima di eseguire l’accesso.

Vedere anche

Riferimento

SoapHeaderException
SoapHeader
SoapHeaderAttribute
SoapUnknownHeader

Concetti

Gestione e generazione di eccezioni nei servizi Web XML
Compilazione di client dei servizi Web XML

Altre risorse

Creare servizi Web XML mediante ASP.NET