2012-11-29 99 views
0

在IIS中托管WCF服务后出现以下错误。HTTP错误500.0 - 安全WCF服务中的内部服务器错误

HTTP错误500.0 - 内部服务器错误。由于发生内部服务器错误,无法显示页面 。

模块IsapiModule
通知ExecuteRequestHandler
处理程序SVC-ISAPI-4.0_32bit
错误代码00000000

它是HTTPS具有安全证书WCF服务。 请帮我解决这个问题。

+3

启用跟踪WCF(这通常会产生一个非常详细的文件),检查Windows事件日志,等等。我怀疑任何人都可以根据提供的信息来帮助你 - 500错误是非常通用的。 –

回答

2

它可能是由许多不同的事情引起的。你应该尝试以下解决方案:

1第一种方式

  1. 右键点击您的网站所在的文件夹:“C:\ Users \用户名\网站名称”,然后选择属性。
  2. 选择安全选项卡,然后单击编辑。
  3. Add ..并输入“IIS_IUSRS”。

2方式二

默认情况下,WCF服务OperationContracts只能使用HTTP POST调用。当您在Titanium HTTPClient上调用open()时,是否为HTTP方法参数指定了GET或POST?

其次,由于您的服务使用SOAP绑定1.1,你需要传递一个SOAPAction头在你的要求,使WCF能够将消息路由到GetData方法。如果该服务的OperationContract特性没有指定动作参数,操作应该是(可能http://tempuri.org/IService1/GetData,如果你使用的是默认的WCF应用程序中创建的)的命名空间和服务合同名后面的方法名。你还需要指定一个内容类型。所以,你需要在发送之前像这样设置你的xhr:

xhr.setRequestHeader('Content-Type','text/xml; charset = utf-16'); xhr.setRequestHeader('SOAPAction', '“http://tempuri.org/IService1/GetData''); xhr.send(一个或多个);此外,您还可以 明确指定了WCF服务操作的动作:

[OperationContract的(动作= “MyAction”)字符串的GetData(){// 剪断... ...}

XHR .setRequestHeader('SOAPAction','“MyAction”');

最后,您可以通过使用[WebGet]属性修饰方法来允许通过HTTP GET调用服务操作。这允许在REST方式被称为操作:http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx

相关问题