Administrar errores que se producen al procesar un encabezado SOAP
Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.
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 compilado a partir del documento WSDL reciben una excepción SoapHeaderException si no envían el encabezado SOAP necesario y otros clientes reciben un fallo 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.
Vea también
Referencia
SoapHeaderException
SoapHeader
SoapHeaderAttribute
SoapUnknownHeader
Conceptos
Controlar y generar excepciones en servicios web XML
Generar clientes de servicios web XML