从 SOAP Toolkit 迁移到 Web 服务
了解 Microsoft® Visual Studio® .NET 中的 SOAP 工具的基础上,如何从 Visual Basic 6.0 和 Visual Basic .NET 访问 Web 服务,以及如何将现有的 SOAP 应用程序转换到 .NET 平台。
如果使用 Visual Studio .NET,由 IDE 生成的代理类能够比 SOAPClient 更好地表示 Web 服务。在图 4 中,您可以看到用于访问 Web 服务的 IntelliSense 支持。createCustomer 方法是与 Web 服务交互的对象所拥有的方法之一。

图 4:Visual Studio .NET 中对 Web 服务的 IntelliSense 支持
Visual Basic .NET 演练
在本节中,您将了解如何完成以下操作:
在 Visual Studio .NET 中创建 Web 服务。
从 Visual Basic .NET 应用程序访问 Web 服务。
在 Visual Studio .NET 中生成 Web 服务时,将为该 Web 服务自动生成一个“发现文件”。发现文件用于向其他 Visual Studio .NET 应用程序添加 Web 服务引用,包括 WSDL 描述。
注意:对于 Visual Basic 和 C# 项目,发现文件的文件类型是 .vsdisco;对于 C 项目,则是 .disco。
在 Visual Studio .NET 中创建 Web 服务
1. 在 File(文件)菜单上,选择 New(新建)以显示 New Project(新建项目)对话框,如图 5 所示。

图 5:Visual Studio .NET New Project(新建项目)对话框
2. 在 Visual Basic Projects(项目)部分中,选择 ASP.NET Web 服务。
3. 在 Name(名称)框中,给出项目名称 (MigratetoDotNetService)。
4. 为 Web 服务输入 Web 站点 URL (localhost/customer)。
5. 单击 OK(确定),创建项目。默认情况下,项目包含名为 Service1.asmx 的模块。
6. 右键单击 Service1.asmx 模块,并从菜单中选择 View Code(查看代码)。
7. 将此代码添加到模块顶部的 Public Class Service1 语句中,如下所示:
8. <WebService(Namespace:="http://phvis.com/customer/", _
9. Description:="客户管理") _
10. Public Class Service1
11. 从 Visual Basic 6.0 示例中复制 createCustomer 函数,但将 <WebMethod> 属性添加到函数声明中,如下所示:
12. <WebMethod(Description:= _
13. "传递姓名,返回 ID 值")> _
14. Public Function createCustomer( _
15. ByVal First As String, _
16. ByVal Last As String) As String
17. 只需要更改一处,就可以将 Visual Basic 6.0 代码转换成 Visual Basic .NET 语法。使用 Return 替换函数中的 createCustomer =,如下所示:
18. Return "A" & CStr(Len(First)) & _
19. CStr(Len(Last))
20. End Function
21. 在 Build(生成)菜单上,选择 Build(生成)以创建 Web 服务。在 Output(输出)窗口中检查生成过程中的错误。作为生成的一部分,还会生成应用程序的发现文件。
- 本文关键词:

