Tôi có dịch vụ WCF mà tôi cần chạy trên SSL, tôi gọi nó từ một trang web (sử dụng jQuery) có thể hoặc không thể là trang bảo mật. Vấn đề là, nếu tôi thực hiện cuộc gọi từ một trang web an toàn trên trang web của tôi, cuộc gọi chạy chính xác như tôi mong đợi ... tuy nhiên, nếu tôi thực hiện cuộc gọi từ trang không an toàn trên trang web của tôi, đến dịch vụ web bảo mật (sử dụng "https: //";)) nó trả về dữ liệu null (qua Firebug). Bất cứ điều gì tôi đang mất tích? Điều này thậm chí có thể?WCF qua SSL từ trang không an toàn
Dưới đây là cấu hình của dịch vụ tôi đang gọi (Tôi hạnh phúc hơn để cung cấp những thứ hơn nếu cần thiết):
<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>
Đây là mã mà các cuộc gọi dịch vụ:
$.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
});
CẬP NHẬT
Nếu tôi thay đổi phương pháp gọi phục vụ "GET" và gọi nó là trực tiếp qua SSL nó hoạt động tốt và kết quả đầu ra jSo n mà tôi mong đợi. Nó chỉ nằm bên trong trang không an toàn nơi sự cố vẫn tiếp diễn.
Bạn có thể đăng mã jQuery của bạn để gọi dịch vụ không? Bạn đang nhận được một 200 trở lại từ dịch vụ của bạn (với dữ liệu null trả lại) hoặc bạn đang nhận được một lỗi trở lại? –
Tôi đã thêm mã gọi cho bạn. Mã này không có vấn đề gì đang chạy trong các tình huống khác, chỉ khi trang không an toàn và nó đang gọi dịch vụ bảo mật. –
Và có, nhận lại 200 –