válido via valido unsupported proporcionado parámetro nombre net has esquema esperaba endpointaddress argument wcf wcf-security basichttpbinding transport-security

wcf - via - Los esquemas de autenticación configurados en el host(''Anónimo'') no permiten aquellos configurados en el enlace ''BasicHttpBinding''(''Negociar'').



el esquema de uri proporcionado http no es valido se esperaba https (6)

Cuando esto me sucedió, descubrí que Visual Studio estaba usando el ''Sitio web predeterminado'' para hospedar mi servicio al agregar la referencia del servicio mediante el botón ''Descubrir''. Así que para solucionarlo, tuve que habilitar la autenticación que mi servicio estaba usando en el ''Sitio web predeterminado'' en IIS. Desde que estaba usando la autenticación de Windows, lo habilité para el "Sitio web predeterminado" en IIS y esto parece haber solucionado mi problema. Por supuesto, si su servicio está utilizando otro tipo de autenticación, tendrá que habilitar la autenticación correcta.

Para configurar la autenticación, abra IIS. En "Sitios", seleccione el "Sitio web predeterminado" y luego Autenticación.

Los esquemas de autenticación configurados en el host (''Anónimo'') no permiten aquellos configurados en el enlace ''BasicHttpBinding'' (''Negociar''). Asegúrese de que SecurityMode esté configurado en Transport o TransportCredentialOnly. Además, esto se puede resolver cambiando los esquemas de autenticación para esta aplicación a través de la herramienta de administración de IIS, a través de la propiedad ServiceHost.Authentication.AuthenticationSchemes, en el archivo de configuración de la aplicación en el elemento, actualizando la propiedad ClientCredentialType en el enlace, o ajustando la propiedad AuthenticationScheme en el HttpTransportBindingElement.


En mi caso, el problema estaba en una mala configuración del servicio después de la refactorización. Si el atributo de nombre en la etiqueta de servicio no apunta a una clase existente, puede obtener esta excepción, lo que lo inducirá a error.

Así que importa el nombre:

<service behaviorConfiguration="FooBehavior" name="Fully.Qualified.Name.Of.Class.Implementing.Service.Contract.Here">


Este error puede aparecer cuando no tiene instalados los modos de autenticación en su servidor web IIS local. Vaya al Panel de control -> Programas -> Activar o desactivar las funciones de Windows

Compruebe los servicios de información de Internet -> Servicios web de Wold wide -> Seguridad -> y habilite los modos Básico, Windows, Autenticación resumida. Abra IIS y navegue a su aplicación y vaya a la sección de autenticación y active los modos de autenticación requeridos. Para mí, los modos de autenticación no aparecieron inmediatamente después de la instalación o después del reinicio del servidor web. Haciendo un reinicio de la máquina los mostramos en la aplicación web.


Resolví este problema agregando Negociar con los proveedores de autenticación de IIS:


Si enfrenta este problema mientras realiza la depuración en Visual Studio, seleccione su proyecto y cambie la autenticación en las propiedades.


Si es necesario, instale las funciones como se describió anteriormente , abra el Administrador de IIS, abra las funciones del servidor:

Abra la función "Autenticación":

habilitar / deshabilitar los necesarios: