我在使用svcutil工具为我的应用程序创建WCF客户端库时出现以下错误。我可以在本地计算机上成功执行相同的操作,但不能在IIS服务器上执行相同的操作。
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0> svcutil.exe http://beanie.elasticbeanstalk.com/beanie/beanie.svc?wsdl Microsoft(R)服务模型元数据工具[Microsoft(R) Windows(R)Communication Foundation,版本4.0.30319.33440] 版权所有(c)Microsoft Corporation。保留所有权利。
尝试从中下载元数据 ' http://beanie.elasticbeanstalk.com/ ?beanie_deploy / beanie.svc WSDL'运用 WS-Metadata Exchange或DISCO。 Microsoft(R)服务模型元数据 工具[Microsoft(R)Windows(R)Communication Foundation,Version 4.0.30319.33440]版权所有(c)Microsoft Corporation。保留所有权利。
错误:无法从中获取元数据 http://beanie.elasticbeanstalk.com/beanie_deploy/beanie.svc?wsdl
如果这是您的Windows(R)Communication Foundation服务 有加入,请检查您是否已启用元数据发布 在指定的地址。有关启用元数据发布的帮助 请参阅MSDN文档 http://go.microsoft.com/fwlink/?LinkId=65455
WS-Metadata Exchange错误 URI:http://beanie.elasticbeanstalk.com/beanie_deploy/beanie.svc?wsdl
Metadata contains a reference that cannot be resolved: 'http://beanie
.elasticbeanstalk.com / beanie_deploy / beanie.svc?WS DL'
Content Type application/soap+xml; charset=utf-8 was not supported by servic e
http://beanie.elasticbeanstalk.com/beanie_deploy/beanie.svc?wsdl。客户端和服务绑定可能是 不匹配。
The remote server returned an error: (415) Cannot process the message becaus e the content type 'application/soap+xml;
的charset = UTF-8'不是预期的ty pe' text / xml;字符集= UTF-8' ..
HTTP GET错误 URI:http://beanie.elasticbeanstalk.com/beanie_deploy 洛伊/ beanie.svc?WSDL
The document was understood, but it could not be processed.
- WSDL文档包含无法解析的链接。 - 下载' http:// win-iu76ruu909k /beanie_deploy/beanie.svc?xsd=xsd0'时出错。 - 无法解析远程名称:' win-iu76ruu909k'
如果您需要更多帮助,请输入" svcutil /?"
如何开始修复它们?
编辑:web.config文件
<behaviors> <serviceBehaviors> <behavior name="NewBehavior0"> <serviceMetadata httpGetEnabled="true" /> </behavior> </serviceBehaviors> </behaviors> <services> <service behaviorConfiguration="NewBehavior0" name="Syncre_LayerAB_WebService.LayerAB_WebService"> <endpoint address="" binding="basicHttpBinding" bindingConfiguration="" contract="Syncre_LayerAB_WebService.ILayerAB_WebService" /> </service> </services>
答案 0 :(得分:1)
您的服务已正确配置为发布其元数据,但我怀疑问题出在IIS设置上。例如,可以将安全性配置为在您的服务使用匿名访问时使用Ntlm或基本身份验证。
那&#34; charset = utf-8&#39;不是预期的类型&text; xml&#39;&#34;错误表示IIS正在返回错误消息而不是元数据。尝试在浏览器中打开svc url(http://beanie.elasticbeanstalk.com/beanie/beanie.svc)以查看错误消息。
您可能还必须禁用IIS的自定义错误功能才能看到真正的错误消息,而不是通用错误消息。
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
</configuration>