2010-03-10 70 views
0

我有wcf iis托管服务。 我已经创建了标准(来自vs模板)wcf服务及其客户端。在客户端,我将ServiceReference添加到我的wcf服务中。一切都很好。没有错误,这个服务器的网络形式也可以工作。下一步我将我的wcf服务发布到Win2003 IIS6.0。 我成功去http://server:1234/Service1.svc,看网页表格,可以检查wsdl。 但是当我运行:svcutil.exe的http://server:1234/Service1.svc?wsdl或添加服务引用我有错误:WCF IIS svcutil错误

Error: Cannot obtain Metadata from http://server:1234/Service1.svc?wsdl 

If this is a Windows (R) Communication Foundation service to which you have acce 
ss, please check that you have enabled metadata publishing at the specified addr 
ess. For help enabling metadata publishing, please refer to the MSDN documentat 
ion at http://go.microsoft.com/fwlink/?LinkId=65455. 

WS-Metadata Exchange Error URI: http://server:1234/Service1.svc?wsdl 
Metadata contains a reference that cannot be resolved: 
'http://server:1234/Service1.svc?wsdl'. 
The remote server returned an unexpected response: (417) Expectation failed. 
The remote server returned an error: (417) Expectation failed. 

在我服务的配置我有:

端点地址=“MEX”绑定=“mexHttpBinding”合同=“IMetadataExchange”/>
serviceMetadata httpGetEnabled =“true”/>

我无法理解问题。 你能帮助我吗?非常感谢

回答

0

编辑:

这个答案被张贴,而不是对这个问题(更多的),因为它是围绕在原来的问题一个错字特别有用。话虽如此,我仍然觉得这些信息对于那些有类似问题的人来说很有用,他们可能会在寻找答案时发现这个问题。如果有权删除答案的人认为需要删除 - 请随时将其删除。


原来的答复:

我不知道这是有益的或不 - 我有一个类似的问题。请注意,在您访问http://server:1234/Service1.svc ...错误消息中的更下方时,它提到MEX端点为http://aurit-server:1234/Service1.svc ...然后,根据您如何设置绑定,可能aurit-server不是您的有效端点服务MEX ...但server是或反之亦然。

我知道这不是您的完整答案,我只是指出了一些我在排查类似问题时忽略的内容 - 希望它有所帮助。即aurit-serverserver可能不可互换......在我的情况下,它们不可互换。


编辑:

顺便说一句,因为这张贴我已经收到了一个答案,那我张贴了类似的问题。我强烈建议你检查一下它是否解决了你的问题。简介:它链接到一篇博客文章,详细说明如何解决我在原始“建议”中提到的问题。如果它可以帮助你,请确保你投票选择Chesso! (Chesso's answer to meBlog post referenced in Chesso's answer)。

+0

谢谢你的回答!但我很抱歉。这只是我与aurit-server的错误。我只有一台服务器 - “服务器”。 – 2010-03-10 12:17:28

+0

没问题......我会在这里留下答案,以防止别人帮助别人......对不起,对自己没有帮助! ......并且不要担心对不起 - 错别字/错误贴不可避免。 – InvertedAcceleration 2010-03-10 12:34:41

0

当试图将服务引用添加到我部署在另一台服务器上的WCF服务时,出现此问题(“远程服务器返回意外响应:(417)期望失败”)。在这种情况下,原来是互联网属性。

  • 转到控制面板 - >互联网属性,“连接”选项卡。

  • 点击“LAN settings”按钮。

  • 取消选中“自动检测设置”和“使用自动配置脚本”。

  • 单击确定,应用/确定。

之后,我可以添加服务ref就好了。值得一试,如果你有这个问题。

+0

,从来没有为我工作。 – 2011-10-25 16:22:12