WSDL.exe 工具的 /serverInterface 和 /server 选项有啥用
Posted
技术标签:
【中文标题】WSDL.exe 工具的 /serverInterface 和 /server 选项有啥用【英文标题】:What is the use of the /serverInterface and /server option for the WSDL.exe toolWSDL.exe 工具的 /serverInterface 和 /server 选项有什么用 【发布时间】:2013-05-02 08:17:58 【问题描述】:一般来说。使用asp.net工具WSDL.exe工具,我认为从wsdl文件生成asp.net代码的方式有3种。
-
默认输出生成客户端代理类。
生成抽象类代码。(添加
/server
选项)
生成接口代码。(添加/serverInterface
)
据我了解,1 是生成一个客户端代理类,它可以帮助处理客户端 Web 服务的请求和响应。
至于 2 和 3 ,我相信实际上它们是用来为服务器端生成代码的,当你想从生成的抽象类或接口中实现自己的 Web 服务时。
但我不确定我的理解是否正确。希望熟悉的人帮忙验证一下。如有不妥,请指正。谢谢。
【问题讨论】:
ASMX 是一项遗留技术,不应用于新开发。 WCF 应该用于 Web 服务客户端和服务器的所有新开发。一个提示:微软已经在 MSDN 上停用了ASMX Forum。 @JohnSaunders 感谢您的建议 +1。我会考虑从 ASMX 迁移到 WCF。这将是另一个问题。 【参考方案1】:首先,正如约翰所说,如果可能,请使用WCF。
不过,您是对的,当您有一个现有的 Web 服务 WSDL 文档时,/server
和 /serverinterface
用于为服务器端组件生成代码。
虽然对于许多 ASP.Net 开发人员来说,Web 服务实现是第一位的,并且用于生成 WSDL,但您可能有一个需要在 ASP.Net 中实现的 Web 服务的现有 WSDL 文档,例如正在迁移到新平台的旧式 Web 服务。在这种情况下,这两个开关用于帮助生成与现有 WSDL 兼容的 Web 服务,以便客户端可以使用您的 ASP.Net Web 服务而无需重新使用 WSDL(这通常需要在该客户端中更改代码) )。
当我拥有用于 Web 服务的 WSDL 时,我自己之前曾使用此功能创建存根 Web 服务以进行测试,但是无法针对实际的 Web 服务实现进行测试。
【讨论】:
对,在我的场景中,我必须实现一个与现有 WSDL 兼容的 Web 服务。这意味着客户端无需更改任何现有代码即可使用新创建的 Web 服务。但是既然你谈到了 WCF,我在想是否有像 wsdl.exe 这样的工具来为 WCF 生成服务器端代码?谢谢。 @Joe.wang 见How to use a WSDL file to create a WCF service (not make a call) +1 @Justin 我明白了,svcutil.exe
是wsdl.exe
的升级版 :)
how to create a WCF service from a WSDL file using the svcutil.exe。干杯以上是关于WSDL.exe 工具的 /serverInterface 和 /server 选项有啥用的主要内容,如果未能解决你的问题,请参考以下文章
wsdl.exe 错误:无法从命名空间“...”导入绑定“...”
解析利用wsdl.exe生成webservice代理类的详解
wsdl.exe 能否生成与 Visual Studio 添加 Web 引用时相同的文件?