在浏览器中获取.asmx文件很好,获取.asmx?WSDL返回一个空页面

时间:2012-05-22 16:41:56

标签: iis-7 sharepoint-2010 wsdl asmx

我在.dll中创建了一个web服务,并将其放在windows \ assembly目录中。 我按照以下URL中显示的所有步骤操作,并停在段落"创建Windows应用程序以使用Web服务",因为我的使用者是Lotus Domino代理:

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

有两个安装,它工作得很好,现在我在第三台计算机上执行此操作,当我在浏览器中浏览到asmx文件的URL(IE9,Firefox 12和Chrome 19)时,我得到了正常答案来自IIS 7.但是当我点击服务描述的链接时 (... / DominoImporter.asmx?WSDL)我得到的只是一个空页面! IE9显示默认的404页面,在Chrome中我有一个没有来源的白页。 Firefox显示一条错误消息,描述带有XML类型标题的空白页面。

这不起作用:
主机名/ _vti_bin / DominoImporter.asmx?WSDL

这有效:
主机名/ _vti_bin / DominoImporterwsdl.aspx

我今天搜索了一半的三台装置/计算机之间的差异,但一无所获! Google发现的所有论坛帮助也讨论了除我之外的其他问题。

我认为必须有人,他已经遇到过同样的问题&可以给我建议!?

2 个答案:

答案 0 :(得分:0)

好的,现在我找到了一个解决方案,我卸载了Visual Studio 2010,之后我卸载了Sharepoint Foundation 2010.然后我重新安装了Sharepoint Foundation 2010并安装了Visual Studio 2012。

然后,当我再次加载WSDL时,浏览器中生成的网页不再为空!

写这个,也许别人可能在将来需要这个解决方案。

原来,我的Sharepoint安装已损坏。在没有更高优先级项目的时间压力之前,无法澄清这一点。

答案 1 :(得分:0)

  1. 在webservices项目的web.config中注释以下行。

    <add name="ContentTypeHttpModule" type="Porthos.Signup.Extras.ContentTypeHttpModule, ContentTypeHttpModule"/>
    
  2. 右键单击您的服务并在浏览器中查看。

  3. 点击服务说明,它会显示wsdl。
  4. 此外,它还将解决更新Web引用错误。