Lo que trato de hacer es obtener un Servicio WCF INDIVIDUAL para trabajar en el entorno de desarrollo que es el esquema HTTP y, además, hacer que el MISMO servicio funcione en el entorno de producción que es el esquema HTTPS. Si elimino los dos extremos de Https (los sufijo 'Https'), funciona en el entorno de desarrollo; Del mismo modo, si elimino solo los dos extremos Http, entonces funciona en el entorno de producción. Me gustaría tener los cuatro puntos finales en el web.config, si es posible.¿Cómo configurar un solo servicio WCF para tener múltiples puntos finales HTTP y HTTPS?
Mis puntos finales se definen a continuación:
<endpoint address="/Web"
behaviorConfiguration="AjaxBehavior"
binding="wsHttpBinding"
bindingConfiguration="web"
name="Web"
contract="Service" />
<endpoint address="/Custom"
binding="customBinding"
bindingConfiguration="custom"
name="Custom"
contract="Service" />
<endpoint
address="/WebHttps"
behaviorConfiguration="AjaxBehavior"
binding="wsHttpBinding"
bindingConfiguration="webHttps"
name="WebHttps"
contract="Service" />
<endpoint address="/CustomHttps"
binding="customBinding"
bindingConfiguration="customHttps"
name="CustomHttps"
contract="Service" />
Editado: estoy editando mi pregunta para añadir el error que estoy recibiendo, y las secciones de unión (abajo). Perdón por la nueva duración de la pregunta.
Error al encontrar "No se pudo encontrar una dirección base que coincida con el esquema http del punto final con enlace WebHttpBinding. Los esquemas de dirección base registrados son [https]."
Además, el sitio de producción está configurado para "Requerir SSL". Eso no puede cambiar
Las configuraciones de enlaces son:
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="AjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="custom">
<textMessageEncoding>
<readerQuotas maxDepth="7000000" maxStringContentLength="7000000"
maxArrayLength="7000000" maxBytesPerRead="7000000"
maxNameTableCharCount="7000000" />
</textMessageEncoding>
<httpTransport maxBufferPoolSize="7000000" maxReceivedMessageSize="7000000"
maxBufferSize="7000000" />
</binding>
<binding name="customHttps">
<textMessageEncoding>
<readerQuotas maxDepth="7000000" maxStringContentLength="7000000"
maxArrayLength="7000000" maxBytesPerRead="7000000"
maxNameTableCharCount="7000000" />
</textMessageEncoding>
<httpsTransport maxBufferPoolSize="7000000" maxReceivedMessageSize="7000000"
maxBufferSize="7000000" />
</binding>
</customBinding>
<webHttpBinding>
<binding name="web" maxBufferPoolSize="70000000"
maxReceivedMessageSize="70000000">
<readerQuotas maxDepth="70000000" maxStringContentLength="70000000"
maxArrayLength="70000000" maxBytesPerRead="70000000"
maxNameTableCharCount="70000000" />
<security mode="None" />
</binding>
<binding name="webHttps" maxBufferPoolSize="70000000"
maxReceivedMessageSize="70000000">
<readerQuotas maxDepth="70000000" maxStringContentLength="70000000"
maxArrayLength="70000000" maxBytesPerRead="70000000"
maxNameTableCharCount="70000000" />
<security mode="Transport" />
</binding>
</webHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
¿Alguna idea?
¿Has intentado conseguir la solución definitiva? – Kiquenet