在 IIS 中托管 WCF 服务后出现以下错误。
HTTP 错误 500.0 - 内部服务器错误。由于发生内部服务器错误,无法显示该页面。
模块 IsapiModule
通知 ExecuteRequestHandler
处理程序 svc-ISAPI-4.0_32bit
错误代码 0x00000000
它是具有安全证书 WCF 服务的 HTTPS。请帮我解决这个问题。
在 IIS 中托管 WCF 服务后出现以下错误。
HTTP 错误 500.0 - 内部服务器错误。由于发生内部服务器错误,无法显示该页面。
模块 IsapiModule
通知 ExecuteRequestHandler
处理程序 svc-ISAPI-4.0_32bit
错误代码 0x00000000
它是具有安全证书 WCF 服务的 HTTPS。请帮我解决这个问题。
它可能是由许多不同的事情引起的。您应该尝试以下解决方案:
1 第一种方式
2 第二种方式
默认情况下,只能使用 HTTP POST 调用 WCF 服务 OperationContracts。当您在 Titanium HTTPClient 上调用 open() 时,您是否为 HTTP 方法参数指定了 GET 或 POST?
其次,由于您的服务绑定使用的是 SOAP 1.1,因此您需要在请求中传递一个 SOAPAction 标头,以便 WCF 可以将消息路由到 GetData 方法。如果在服务的 OperationContract 属性中未指定 Action 参数,则 Action 应该是方法名称,前面是命名空间和服务合同名称(如果您使用的是默认 WCF,则可能是http://tempuri.org/IService1/GetData创建的应用程序)。您还需要指定内容类型。因此,在调用 send 之前,您需要像这样设置 xhr:
xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-16'); xhr.setRequestHeader('SOAPAction', '"http://tempuri.org/IService1/GetData"'); xhr.send(s); 此外,您可以显式指定 WCF 服务操作的操作:
[OperationContract(Action = "MyAction")] string GetData() { // ...snip... }
xhr.setRequestHeader('SOAPAction', '"MyAction"');
最后,您可以通过使用 [WebGet] 属性装饰方法来允许通过 HTTP GET 调用服务操作。这允许以 REST 方式调用操作:http: //msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx