Tengo un servicio WCF que necesito ejecutar sobre SSL, lo estoy llamando desde una página web (usando jQuery) que puede o no ser una página segura. El problema es que si realizo la llamada desde una página web segura en mi sitio, la llamada funciona exactamente como yo esperaría ... sin embargo, si realizo la llamada desde una página no segura en mi sitio, al servicio web seguro (usando "https: //";)) devuelve datos nulos (a través de Firebug). ¿Algo que me falta? ¿Esto es posible?WCF sobre SSL desde la página no segura
Aquí está la configuración del servicio que estoy llamando (Estoy más que feliz de proporcionar más cosas si es necesario):
<behaviors>
<endpointBehaviors>
<behavior name="AspNetAjaxBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="ClientServices.Membership" behaviorConfiguration="ServiceGatewayBehavior">
<endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" bindingConfiguration="SecureBinding"
binding="webHttpBinding" contract="ClientServices.Membership" />
</service>
</services>
<bindings>
<webHttpBinding>
<binding name="SecureBinding">
<security mode="Transport"/>
</binding>
</webHttpBinding>
</bindings>
Este es el código que llama al servicio:
$.ajax({
url: serviceUrl,
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: '{"review":{"Username":"' + username + '"}}',
success: function (data) {
$.log(data);
},
error: function (a, b, c) {
$.log(b);
},
cache: false
});
ACTUALIZACIÓN
Si cambio el método de llamada de servicio a "GET" y llamar directamente a través de SSL que funciona bien y da salida a la JSO n que yo esperaría. Solo dentro de la página no segura donde el problema persiste.
¿Puedes publicar tu código jQuery que llama al servicio? ¿Obtiene un 200 de regreso de su servicio (con datos nulos devueltos) o está recuperando un error? –
Agregué el código de llamada por usted. Este código no tiene problemas para ejecutarse en otros escenarios, solo cuando la página no es segura y está llamando al servicio seguro. –
Y sí, consiguiendo un 200 de vuelta –