我在访问Web服务时遇到问题?wsdl for SharePoint列表,站点等。
我可以使用以下URL查看操作列表:
http://test.com/_vti_bin/Lists.asmx - 返回OOTB服务的操作列表
http://test.com/_vti_bin/sites.asmx - 返回OOTB服务的操作列表
但是,当我尝试使用以下URL查看WSDL文档时:
http://test.com/_vti_bin/Lists.asmx?wsdl - 返回404错误
http://test.com/_vti_bin/sites.asmx?wsdl - 返回404错误
在测试环境中,我可以看到返回的WSDL,但在生产中它返回404错误,如上所述。
我也在日志中看到此消息:
页面错误:http://test.com/_vti_bin/wswsdl.aspx?WSDL System.Web.HttpUnhandledException:抛出了类型'System.Web.HttpUnhandledException'的异常。 ---> System.IO.FileNotFoundException:没有名为“/careers/Pages/_vti_bin/sites.asmx”的Web。
似乎asmx与wsdl的转换在生产环境中效果不佳。任何想法将不胜感激。
我还确保将"<protocols><add name="Documentation"/></protocols>"
添加到webservice的web.config的WebServices元素中。
答案 0 :(得分:0)
是否有可能在您的生产环境中web.config实际配置为删除文档协议而不是添加它?
答案 1 :(得分:0)
您是否以正确的用户身份连接,即有足够的权利?
我猜它最有可能是IIS中的身份验证问题,因此请检查其中的日志。
还要检查EventLog是否还有其他错误。