none
No puedo acceder a servicio web remoto WDSL RRS feed

  • Pregunta

  • Hola estoy desarrollando una aplicación WinForm que envía datos a un servicio web remoto, para eso agrego la referencia de servicio al proyecto, me pide usuario y contraseña, hasta ahí funciona perfecto y baja la descripción del servicio correctamente.

    El problema surge al intentar enviar datos con la aplicación que he desarrollado.

    Message=Error en el servidor remoto: (401) No autorizado.

    La solicitud HTTP no está autorizada con el esquema de autenticación de cliente 'Anonymous'. El encabezado de autenticación recibido del servidor era 'Basic realm="Authentication required"'.

        Private Sub SendData()
                Dim XXGeo As New ServiceXGeo.XGeoAPIClient()
                Dim XAccess As New ServiceXGeo.Access
                Dim XLastPos As New ServiceXGeo.LastMovilPosition
                Dim Xstatus As New ServiceXGeo.Status
        
                Dim Cred As New System.Net.NetworkCredential("User001", "pass1234")
        
                XXGeo.ClientCredentials.Windows.ClientCredential = Cred
        
                XAccess.id = "wsIDx011"
                XAccess.key = "12345678901234567890"
                XAccess.type = "0"
        
                With XLastPos
                    .id = "TEST001"
                    .txdate = String.Format("{0:yyyyMMdd}", DateTime.Now.ToUniversalTime())
                    .txtime = String.Format("{0:HHmmss}", DateTime.Now.ToUniversalTime())
                    .txtrace = NumPaquete.ToString
                End With
        
                Xstatus = XXGeo.setLastMovilPosition(XAccess, XLastPos)
        
                WriteRTBLog("Result:", Color.Blue)
                WriteRTBLog(Xstatus.status, Color.ForestGreen)
                WriteRTBLog(Xstatus.msg, Color.OrangeRed)
                WriteRTBLog(Xstatus.trace, Color.Black)
        End Sub

    Estoy usando VS2010; no entiendo que estoy haciendo mal.


    The Real Blue


    • Editado Electric_Blue viernes, 17 de marzo de 2017 13:51
    • Cambiado Enrique M. Montejo martes, 21 de marzo de 2017 7:31 Pregunta relacionada con Web Services.
    viernes, 17 de marzo de 2017 13:48

Todas las respuestas

  • hola

    que pasa si solo usas

    XXGeo.Credentials = New System.Net.NetworkCredential("User001", "pass1234")

    esto en lugar de las ClientCredentials

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 17 de marzo de 2017 15:04
  • No aparece esa opción, de hecho el desarrollador del servicio web me pasó un código de ejemplo en C# y había una propiedad.

    XXGeo.PreAuthenticate

    Así que opte por hacer un proyecto nuevo y cuando agregue la referencia del servicio entre a las opciones avanzadas y tenia la opción de agregar un sitio web; lo hice, me pidio usuario y contraseña, le puse los mismos, pero esta vez aparecía la opción de guardar la credencial, tilde para que lo hiciera, trabajó unos segundos y ahora si aparecía la opción de "PreAuthenticate".

    Ahora se loguea pero me da otro error.

    HResult=-2146233079
    Message=Se ha terminado la conexión: Error inesperado de recepción.

    HResult=-2146232800
    Message=No se puede escribir datos de en la conexión de transporte: Se ha anulado una conexión establecida por el software en su equipo host.

    HResult=-2147467259
    Message=Se ha anulado una conexión establecida por el software en su equipo host



    The Real Blue

    viernes, 17 de marzo de 2017 16:05
  • hola

    Entiendo que el servicio web es un asmx, no ?

    si es asi recuerda que el proxy debes generarlo con la opcion de web reference

    porque el proxy que se genera es diferente si es un "Service Reference"

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 17 de marzo de 2017 17:17
  • Exacto, "Add Web Reference"; eso es lo que me funciono, ¿Que tipo de servicio sería entonces?

    Asi busco info sobre ese tipo de servicio y entiendo mejor porque esta fallando.

    Por otro lado, el ultimo error que me indica que no pudo colocar los datos en la capa de transporte,

    ¿Sabes que puede ser?

    Yo tengo Full NAT en el router para mi PC, así que no creo que sea problema local.


    The Real Blue

    viernes, 17 de marzo de 2017 17:34