一般一个已经实现功能的WEB Server会发布自己的WSDL文件,供客户端生成代理类。但有时是先有的server与client交互的接口定义(WSDL)文件,然后由server和client端分别写程序,一个提供web服务,一个使用web服务。以下介绍如何由已有的WSDL文件在VS2005中生成server端代码。
1)使用VS2005提供的工具wsdl.exe由WSDL文件生成cs文件:
使用wsdl.exe的/serverInterface选项(或缩写的 /si)指定输入的wsdl文件(注意,如果要转换的wsdl文件中import了其他wsdl文件,则所有文件都应列出,包括使用到的xsd文件也应列出)。输出将是 一个代码文件(默认是C#的,如果需要别的语言,参考MSDN中wsdl.exe的使用说明),其中包含每个 wsdl 绑定的接口。示例:假设ServerInterfaceSample.wsdl文件中import了importedSample.wsdl,并使用
Service.xsd作为schema文件;wsdl.exe /si ServerInterfaceSample.wsdl importedSample.wsdl Service.xsd
2) 在VS IDE中新建一个web service工程,加入新生成的**Interface.cs文件.
将自动生成的Service类改为从加入的Interface接口类派生,并实现所有的接口函数.(注意名空间一致).
大功告成,在实现函数中加入处理代码就可以了.