2012-03-22 20 views
30

He visitado varios sitios web que sugieren una solución a este problema, pero todavía no puedo deshacerme de él.No se pudo encontrar una dirección base que coincida con el esquema https para el punto final con enlace WebHttpBinding. Los esquemas de direcciones base registradas son [http]

Mi WebConfig:

<bindings> 
    <webHttpBinding> 
    <binding name="SecureBasicRest"> 
     <security mode="Transport" /> 
    </binding> 
    </webHttpBinding> 
</bindings> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="svcBehavior"> 
     <serviceMetadata httpsGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="false"/> 
    </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
    <behavior name="svcEndpoint"> 
     <webHttp helpEnabled="true"/> 
     <enableWebScript/> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 


<services> 
    <service name="SvcContract.Authenticate" behaviorConfiguration="svcBehavior"> 
    <endpoint binding="webHttpBinding" bindingConfiguration="SecureBasicRest" behaviorConfiguration="svcEndpoint" name="webHttp" contract="SvcContract.Authenticate" /> 
    </service> 
</services> 


http://localhost:6188/Authenticate/Login?username=user&password=pass&ip=127.0.0.1 

esperanza alguien puede ayudar. ¡Gracias por adelantado!.

Editar

Tengo que hacer este trabajo con
https://localhost:6188/Authenticate/Login?username=user&password=pass&ip=127.0.0.1

+0

¿Ha asignado un certificado de servicio en IIS para el sitio web en el que se aloja esta aplicación? ¿Tiene habilitado el enlace https en el sitio web? – Rajesh

+1

¿Obtuvo la solución final? – Kiquenet

Respuesta

44

Establecer <serviceMetadata httpsGetEnabled="false"/> a falso. Le está diciendo a WCF que use https para el punto final de metadatos y veo que está exponiendo su servicio en http, y luego aparece el error en el título.

También debe configurar <security mode="None" /> si desea utilizar HTTP como lo sugiere su URL.

+2

Disculpa el error de tipeo, realmente tengo que hacerlo usando https. Su respuesta funciona muy bien para http, pero ¿cómo podría funcionar para https? Gracias – fiberOptics

+0

¿Ha configurado enlaces ssl para su sitio en IIS? – KMan

+0

Para dejarlo en claro, ¿está ejecutando su servicio en el servidor web de visual studio? No es compatible con SSL. Si necesita hacer desarrollo con SSL use IIS Express. – KMan

-1

para que funcione tiene que reemplazar una carrera de esta línea de código serviceMetadata httpGetEnabled="true"/> http en lugar de https y security mode="None" />

17

Usted tendría que permitir enlace HTTPS en el lado del servidor. IISExpress en este caso. Seleccione Propiedades en el proyecto del sitio web en el explorador de soluciones (no haga doble clic). En el panel de propiedades, entonces necesita habilitar SSL.

+4

Si tiene una versión de Visual Studio que no muestra estas propiedades cuando hace clic derecho, seleccione el proyecto y presione F4. – user1568891

0

En la etiqueta de punto final que es necesario incluir la dirección de la propiedad = ""

<endpoint address="" binding="webHttpBinding" bindingConfiguration="SecureBasicRest" behaviorConfiguration="svcEndpoint" name="webHttp" contract="SvcContract.Authenticate" />

Cuestiones relacionadas