【发布时间】:2012-01-13 00:25:09
【问题描述】:
我有服务
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
public Customer GetCustomer(string customerNumber)
{
return _service.GetCustomer(customerNumber);
}
我使用 jQuery 从网页调用
var customerNumber = '123456';
$.getJSON('/JsonServices/B2BServiceJson.svc/GetCustomer', { customerNumber: customerNumber }, customerSelected);
这里是 getJSON 调用的回调:
// HELP! result is null when SSL is enabled
function customerSelected(result) {
var customer = result.GetCustomerResult;
var email = customer.Email;
// other stuff
}
这是配置
<system.serviceModel>
<services>
<service name="B2B.JsonServices.B2BServiceJson">
<endpoint address="" binding="webHttpBinding" contract="B2B.JsonServices.B2BServiceJson"
behaviorConfiguration="ajaxBehavior" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="ajaxBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<!-- other stuff -->
在我在服务器上启用 SSL 之前,这一切正常。现在 getJSON 调用成功但返回 null。 请帮助我通过 SSL 进行这项工作。谢谢
我的环境是 .Net 3.5、IIS 7
【问题讨论】:
-
您是否在您的服务上启用了 SSL? stackoverflow.com/questions/425978/…
-
该服务是为整个站点启用 SSL 的大型网站的一部分。我需要为服务本身做一些明确的事情吗?
-
对您的配置有疑问?您的配置显示服务类名称和合同名称是相同的“B2B.JsonServices.B2BServiceJson”。这是正确的吗?在没有 SSL 的情况下使用相同的配置之前是否可以正常工作