我已经使用 Visual Studio 创建了一个 Web 服务(2005 年 - 我知道我很守旧),一切都编译得很好,但当它打开时,我收到警告:
此 Web 服务不符合 WS-I Basic Profile v1.1。
而且:
该网络服务正在使用http://tempuri.org/ http://tempuri.org/作为其默认名称空间。
这很好,除非我的服务是这样开始的:
[WebService(Namespace = "http://totally-not-default-uri.com/servicename")]
在整个解决方案文件夹中搜索“tempuri”不会返回任何结果。我在 Visual Studio 可访问的任何配置页面中都找不到提到它。然而,当我通过浏览器查看它时,它就位于 Web 服务描述符页面上 xmlns:tns 属性的 wsdl:definitions 列表中,并作为同一标记中的 targetNamespace。我正在使用 Visual Studio 的“调试”模式以及内置服务器来查看它。
似乎有些东西已经缓存在某个地方,但我无法弄清楚是什么和在哪里 - 我尝试停止并重新启动服务器,清理和重建服务,并使用文本编辑器浏览相关的文本配置文件,但没有骰子。知道发生了什么事吗?
Ahem.
经过一段时间试图弄清楚这个问题后,我又回到了起点,开始质疑我的假设。通常在这种情况下,如果似乎没有人有答案,我就会做一些非常密集的事情。
果然,我的 Web 服务文件中有几个类(因为它是用于测试的存根,不会长期使用),并且我在 .asmx 文件中命名的类完全错误,作为支持代码网络服务。
一旦我纠正了这个问题,一切就都正常了。
我并不自豪,这远不是我最自豪的时刻,但我会留下这个,以防其他人遇到同样的问题......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)