首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WCF - IIS 6与IIS 7

WCF - IIS 6与IIS 7
EN

Stack Overflow用户
提问于 2009-08-03 12:55:48
回答 2查看 8K关注 0票数 4

我已经在本地机器上创建了WCF服务。我的本地机器使用Windows 7 RC1,因此web服务器是IIS 7。然而,我的生产机器是使用IIS 6的Windows 2003。

当我试图在本地环境中引用该服务时,一切正常。但是,当我将我的服务推广到我的生产机器,并试图引用该服务时,我会收到一个错误。错误说:

错误:无法从http://www.thedomain.com/theService.svc?wsdl获取元数据

如果这是您可以访问的Windows (R)通信基础服务,请检查是否已启用指定地址的元数据发布。有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455上的MSDN文档。

元数据交换错误URI:http://www.thedomain.com/theService.svc?wsdl

元数据包含无法解析的引用:“http://www.thedomain.com/theService.svc?wsdl”。

服务http://www.mydomain.com/myService.svc?wsdl不支持Content应用程序/soap+xml;charset=utf-8。客户端绑定和服务绑定可能不匹配。

远程服务器返回一个错误:(415)无法处理消息,因为内容类型'application/soap+xml;charset=utf-8‘不是预期类型'text/xml;charset=utf-8’。

我需要在IIS 6中做些什么才能让WCF服务开始工作吗?我真的很困惑,为什么它在当地工作得很好,但在生产中却不是很好。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-03 14:53:20

我可以想到四种可能性:

  • 某些阻止访问服务的安全设置。检查IIS日志,查看拒绝访问的production
  • That
  • ,如果服务web.config的配置未被传输到web.config元数据交换,则未配置http get允许的
  • ,而您使用的是IIS 6

上不支持的较新绑定。

IIS 6支持的绑定是basicHttpBinding和wsHttpBinding。请参见:

http://msdn.microsoft.com/en-us/library/cc949086.aspx

希望这能有所帮助

票数 3
EN

Stack Overflow用户

发布于 2009-08-03 13:01:41

您已经锁定了这两种环境之间的明显区别--一种是运行IIS 6,另一种是运行IIS 7。这可能是一种不同,但不是导致问题的原因。

您比较过这两种环境中的web.config文件吗?

从错误消息来看,WCF似乎正在生产机器上运行,但是获取元数据存在问题。你试过在生产中运行这项服务吗?即使元数据检索不起作用,运行它也是可能的。

另外,如果你不介意我在这里讲一点哲学的话,你刚刚找到了安装服务器的理由。事实上,"1“和"2”之间的差别比"2“和"3”之间的差别要大得多。从开发环境直接过渡到生产,您第一次遇到“多环境”的问题。这类似于单数和复数之间的区别。

您还首次遇到了“不同环境”的问题。这类似于“相同的”和“不同的”之间的区别。

在中间添加一个分期系统可以使您有机会提前解决所有这些问题,这样当您从阶段过渡到生产时,可能仍然存在“差异”问题,但您不会再次遇到“单数与复数”的问题--您已经解决了它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1222213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档