Consumir Servicio Web Apache

21/07/2005 - 10:29 por Jose | Informe spam
Hola a todos

Tengo un problema, en el trabajo necesito desarrollar un componente
que utilice un servicio Web para el envío de mensajes SMS. El servicio Web en
cuestión no está implementado en .NET y me está dando muchos problemas. Para
poder utilizarlo tengo que usar autenticación básica (al menos eso me han
dicho). Lo más extraño es que al añadir la referencia Web en el visual studio
.NET no me pide ninguna autenticación, además de esto, es el propio método
del servicio web el que me responde que no estoy autenticado, en vez de un
mensaje del servidor.
Tengo capturas de los paquetes HTTP que envío y capturas del
administrador del servidor web que dice que funcionan. La única diferencia
significativa está en la cabecera del primer paquete HTTP, en la siguiente
línea:

"Authorization: Basic cGlhj2dsOmcfswnNzcGgg7e="

En los paquetes que envío yo, no consigo que aparezca esta línea.

Por otra parte, he creado un pequeño servicio web en otro equipo
utilizando .NET y le he puesto autenticación básica. Al crear un cliente para
consumirlo y añadir la referencia web, me pide el user y el password. Y al
ejecutar el cliente y capturar los paquetes, sí se añade la linea de
autenticación en la cabecera.

¿Alquien sabe por que cuando me conecto con el servicio web en el servidor
apache no se manda esta línea en la cabecera?

Muchas gracias de antemano.
 

Leer las respuestas

#1 Rodrigo Corral [MVP]
21/07/2005 - 10:42 | Informe spam
Prueba a realiza la autenticación de manera explicita:

Este codigo va de memoria.. asi que...

server.Service() s = new server.Service();
CredentialCache c = new CredentialCache();
c.Add(New Uri(http://servidor), "Basic", New NetworkCredential("user",
"password", "domain"))
s.Credentials = c;
//Llamar al web service...

Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org

Preguntas similares