Cabeceras en mensajes SOAP
Añadir cabeceras personalizadas a los mensajes de nuestros servicios web es realmente sencillo, en esas cabeceras podemos transportar cualquier dato que nos interese tokens, usuario y contraseña, lo que sea..
Hay que hacer lo siguiente:
1- Crear la clase con los datos que herede de SoapHeader
public class SoapHeaderData: SoapHeader { public string Data1; public string Data2; public string Data3; }
2- Crear una propiedad en el servicio web con esa clase y la etiqueta SoapHeader con el nombre de la propiedad al método web, en esa propiedad tendremos los datos
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService { public SoapHeaderData HeaderData; [WebMethod] [SoapHeader("HeaderData")] public string HelloWorld() { return "Hello World " + HeaderData.Data1 + ", " + HeaderData.Data2 + ", " + HeaderData.Data3; } }
Solo haciendo esto ya tenemos la cabecera en nuestra petición SOAP:
Tags: .NET Framework, SOAP, WebServices


