Aca les dejo un ejemplo de como se utiliza. para mas información lean el libro 2524.
lo primero que tiene que hacer es crear una clase la cual usaran para almacenar usuario y el password esta clase sera serializada, ejemplo lo pueden poner en el mismo web service justo cuando termina la clase del web service.
Public Class AuthInscripcion
Inherits SoapHeader
Public usuario As String
Public password As String
End Class
luego en su web method tiene que mandarla a llamar con un SoapHeader("authinfo") ejemplo completo:
luego de esta definir el soap header vamos a validar tiene que poner el siguiente codigo justo debajo de la definicion de su webmoethod, esto lo que hacer es que si el usuario o password esta mal no hace el llamado, les dara un error por que hay crear la funcion.
If validaSeguridad() = False Then
Exit Function
End If
ahora en la misma clase del web service pueden hacer una funcion de validacion del usuario
Private Function validaSeguridad() As Boolean
Dim access As Boolean = False
If authinfo Is Nothing Then
Throw New Exception("Ingrese usuario o password")
Else
If authinfo.usuario.ToUpper = "usuario1" Then
If authinfo.password.ToUpper = "123" Then
access = True
Else
access = False
Throw New Exception("password no valido")
End If
If access = False Then
Throw New Exception("password no valido")
End If
End If
Si llegaro a esta estapa les cuento que sus web services son inacesibles ahorita =) ahora tienen que configurar a su cliente con el siquiente codigo, para que no digan que solo vb ahora usare c#
localhost winc = new localhost ();
localhost .AuthInscripcion myheader = new localhost .AuthInscripcion);
myheader.usuario = Session["usuariowebservice"].ToString();
myheader.password = Session["passwordwebservice"].ToString);
winc.AuthInscripcionValue = myheader;
ds = winc.CarrerasCarnet(txtcarnet.Text);
espero les sirva. Esta un poco complejo pero no imposible.
Disculpa y esto funciona si quisiera llamar un webservice de excel 2007 y me quisiera autenticar?
ResponderBorrar