我已部署了一个WCF服务,当应用程序池作为特定域用户运行时,该服务很有效,但当我将应用程序池更改为以不同用户身份运行时,我收到XPATH错误,我的服务甚至没有返回元数据。我很困惑 - 我的新用户拥有所有服务文件(包括配置文件)的权限,作为应用程序池标识运行正常,数据库权限无关紧要,因为我甚至无法提取合同列表。
有人可以对此有所了解吗?我附上了当我尝试使用WCF测试客户端连接时出现的错误文本。更改应用程序池以作为第一个用户和测试客户端运行合同列表,我可以调用方法而不会出现任何问题。请救救我!
错误:无法导入 wsdl:portTypeDetail:一个例外 在运行WSDL导入时抛出 延期: System.ServiceModel.Description.DataContractSerializerMessageContractImporterError: 具有目标命名空间的模式 'HTTP://UsBankRtSvc.Model/2010/Service' 无法找到.XPath到错误 资源: //wsdl:definitions[@targetNamespace='http://UsBankRtSvc.Model/2010/Service']/wsdl:portType[@name='UsBankRealTimeServiceContract']Error: 无法导入wsdl:bindingDetail: 导入时出错 wsdl:wsdl:binding的portType 依赖于.XPath到wsdl:portType: //wsdl:definitions[@targetNamespace='http://UsBankRtSvc.Model/2010/Service']/wsdl:portType[@name='UsBankRealTimeServiceContract']XPath to Error Source: //wsdl:definitions[@targetNamespace='http://UsBankRtSvc.Model/2010/Service']/wsdl:binding[@name='DefaultEndpoint']Error: 无法导入wsdl:portDetail:那里 导入wsdl:binding时出错 wsdl:port依赖 on.XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://UsBankRtSvc.Model/2010/Service']/wsdl:binding[@name='DefaultEndpoint']XPath 错误来源: //wsdl:definitions[@targetNamespace='http://UsBankRtSvc.Model/2010/Service']/wsdl:service[@name='UsBankRealTimeSvc']/wsdl:port[@name='DefaultEndpoint']Warning: 没有生成代码。如果你是 试图生成一个客户端,这个 可能是因为元数据 文件没有任何有效的 合同或服务,因为所有 合同/服务被发现 存在于/ reference程序集中。校验 您传递了所有元数据 文件到工具。警告:如果你 想生成数据合同 从架构确保使用 / dataContractOnly选项。
答案 0 :(得分:2)
有类似的问题。我通过授予IIS_WPG组对服务器上c:\ windows \ temp文件夹的完全访问权限来修复它。