2011-02-01 27 views
18

He configurado mis servicios WCF para que funcionen con SSL, pero solo funciona si el enlace HTTP existe en el sitio web de IIS. Cuando la unión del HTTP no existe y sólo existe enlace HTTPS me sale el siguiente error:¿Cómo se configuran los servicios de WCF a través de HTTPS sin enlace HTTP?

The HttpGetEnabled property of ServiceMetadataBehavior is set to true and the HttpGetUrl property is a relative address, but there is no http base address. Either supply an http base address or set HttpGetUrl to an absolute address.

¿Cómo puedo resolver este problema?

Gracias.

+0

Podría explicar lo que esto significa exactamente "sólo funciona si el enlace de HTTP existe"? Gracias ... Estoy enfrentando el mismo problema en mi wcf .. WCf funciona bien en un servidor pero no en el otro .. :( – Lamps

Respuesta

44

Modificar la configuración de la siguiente manera:

<behaviors> 
    <serviceBehaviors> 
    <behavior> <!-- behavior can have name (must have name in WCF 3.x) --> 
     <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
+1

Me enfrenta el mismo problema ... Pero solo ocurre en pocos servidores ... Los servicios alojados en un servidor funcionan bien y otros servidores arrojan el error mencionado. Cualquier idea ? Gracias. – Lamps

4

es necesario utilizar mexHTTPSBinding Unstead de mexHTTPBinding

<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" /> 
+0

Esto no es la causa del problema del OP, pero es cierto si defines el punto final de los metadatos ya que tiene que estar disponible en 'https'. – Darbio

Cuestiones relacionadas