更新:2007 年 11 月
本演练说明在 Visual Studio Team System Architecture Edition 中使用应用程序设计器设计 Web 服务的要点。本演练解释如何:
- 定义对现有 Web 服务的操作。 
- 实现 Web 服务。 
- 添加外部 Web 服务(解决方案之外的 Web 服务)并查看其上的 Web 方法。 
- 将该外部 Web 服务连接到其他应用程序。 
本演练以介绍性演练主题 演练:在应用程序关系图上定义应用程序 中提供的概念为基础。
定义对 Catalog Web 服务的操作
- 请加载 https://go.microsoft.com/fwlink/?LinkId=40867 上提供的示例。 
- 双击“Catalog.ad”文件以打开应用程序关系图。 - 应用程序设计器会显示应用程序关系图。 
- 右击“Catalog”上的“CatalogWebService”终结点,然后选择“定义操作”以查看“Web 服务详细信息”窗口。 
- 在“Web 服务详细信息”窗口中,单击“<添加操作>”并键入“GetProductDetails”。 
- 在“类型”下键入“ProductDetails”。 - 您在此处输入的操作类型指定操作的返回类型。 
- 展开“GetProductDetails”左侧的加号 (+),向该操作中添加参数。 
- 单击“<添加参数>”并键入“ProductNumber”。在“类型”下键入“Integer”。 .gif) 说明: 说明:- 开始在“类型”列中键入时,Visual Studio 将显示可用类型的列表。 - 此操作接受整数产品号并返回一个“ProductDetails”结构。 
默认情况下,定义的操作是 request-response。有关如何更改此属性的更多信息,请参见如何:为 ASP.NET Web 服务指定单向操作或“请求-响应”操作。
设置项目属性并实现 Catalog Web 服务
- 单击“Catalog”应用程序上的“CatalogWebService”终结点。 
- 查看“属性”窗口。 
- 将“WSDL 绑定名称”属性更改为“Catalog”。 
- 将“WSDL 绑定命名空间”属性更改为“http://Adventureworks/Products”。 
- 单击“Catalog”应用程序并将其“语言”属性更改为“Visual C#”。 .gif) 说明: 说明:- 如果安装了 Visual Studio 附带的所有语言,则此属性的默认值为“Visual Basic”。 
- 选中“Catalog”应用程序后,在“关系图”菜单上,指向“实现”,然后单击“实现应用程序”。 - 随即出现“确认应用程序实现”对话框。 
- 检查“Catalog”应用程序的实现详细信息,然后单击“确定”。 - 实现过程将使用相应的 Web 引用为该应用程序生成一个项目。实现完成后,将显示具有投影的应用程序。 .gif) 说明: 说明:- 在出现“安全警告”对话框时,单击“关闭”。此对话框指示应用程序关系图上数据库的数据库连接字符串正在以未加密的明文格式写入配置文件。 
- 在解决方案资源管理器中检查代理类和 Web 引用。 
- 打开“CatalogWebService.cs”文件并查看 ProductDetails Web 方法的代码。 - 请注意,Visual Studio 已设置了 WSDL 绑定名称和 WSDL 绑定命名空间,并且已创建了方法签名。 
- 在代码中,将操作名称从 GetProductDetails 更改为 GetProductInformation。 
- 单击“CatalogWebService”终结点并查看“Web 服务详细信息”窗口。 - “Web 服务详细信息”窗口中的操作名称已更改,以反映在代码中对 Web 方法签名所做的更改。在代码中所做的任何更改都将自动反映在“Web 服务详细信息”窗口中,反之亦然。 
添加外部 Web 服务并查看 Web 方法
- 打开工具箱,将“ExternalWebService”拖动到应用程序关系图中。 - 随即出现“添加 Web 引用”对话框。 
- 在本地计算机上查找 LegacyCatalog.wsdl 的位置。 
- 在“URL”框中,键入此位置并单击“转到”。 - 将出现该 WSDL 文件的描述及其定义的方法。 
- 单击“添加引用”。 - 外部 Web 服务随即出现在应用程序关系图中。 
- 单击“GetLegacyInfo”终结点。 
- 在“视图”菜单上,指向“其他窗口”,然后单击“Web 服务详细信息”以查看“Web 服务详细信息”窗口。 
- 检查“Web 服务详细信息”窗口中的 Web 方法。 - 此特定 WSDL 文件包含用于访问旧版目录中的信息的方法。 
连接外部 Web 服务与 Catalog Web 服务
- 在按住 Alt 的同时,将外部 Web 服务上的“GetLegacyInfo”终结点拖动到“Catalog”应用程序的边框上。 - 此操作将在“Catalog”上创建一个使用方终结点,指明“Catalog”应用程序使用“LegacyInfo”提供的服务。实现“Catalog”应用程序时,Visual Studio 将为在“GetLegacyInfo”终结点上定义的 Web 方法生成代理类。 - Visual Studio 还会在解决方案中为外部 Web 服务添加一个 .sdm 文件。此文件包含此应用程序的 SDM 定义。有关更多信息,请参见 系统定义模型 (SDM) 概述。 
后续步骤
下一步是进一步使用 Web 服务终结点。有关更多信息,请参见 演练:协定驱动的 Web 服务设计 - 创建终结点。