Share via


Administrar errores que se producen al procesar un encabezado SOAP

Cuando un servicio web detecte un error concreto al procesar un encabezado SOAP, se debe iniciar SoapHeaderException. El uso de esta clase de excepción permite a los servicios web dar un formato correcto a la respuesta. A continuación se muestra un ejemplo de invocación:

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

Si el cliente se crea con .NET Framework, recibirá la SoapHeaderException con su contenido, incluida la propiedad InnerException, colocada en la propiedad Message. La propiedad InnerException de SoapHeaderException detectada por el cliente será null. Éste es un modelo de programación admitido por .NET Framework, cuando la excepción se envía a través de la red en un elemento XML <Fault> de SOAP, como indica la especificación SOAP. Para obtener más detalles sobre excepciones, consulte Controlar y generar excepciones en servicios web XML.

Nota: la versión 1.0 de .NET Framework incluye la propiedad SoapHeaderAttribute.Required que permite a un servicio web requerir que un cliente envíe un encabezado SOAP concreto cuando la propiedad está establecida en true. ASP.NET indica que se requiere el encabezado SOAP en un documento WSDL generado estableciendo el atributo wsdl:required en "true" en el elemento soap:header. .Los clientes de .NET Framework del servicio web generados desde el documento NET reciben WSDLSoapHeaderException si no envían el encabezado necesario y otros clientes reciben un error de SOAP. Para interoperar con otras implementaciones de SOAP, esta funcionalidad se quita en versiones posteriores.

La propiedad Required está obsoleta en la versión 1.1 y la herramienta Lenguaje de descripción de servicios web (Wsdl.exe) omite el atributo wsdl:required de un elemento soap:header en un documento WSDL. Puesto que ya no se puede requerir un encabezado SOAP, el servicio web debe comprobar que el campo o la propiedad que representa el encabezado SOAP no es null antes de tener acceso.

Consulte también

Referencia

SoapHeaderException
SoapHeader
SoapHeaderAttribute
SoapUnknownHeader

Conceptos

Controlar y generar excepciones en servicios web XML
Generar clientes de servicios web XML

Otros recursos

Servicios web XML con ASP.NET

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.