Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - 编程 » HTTP Web 服务 » HTTP Web 服务示例 » 教程:使用 Visual C# 访问 SOAP/DISH Web 服务

 

第 1 课:设置用于接收 SOAP 请求和发送 SOAP 响应的 Web 服务器

在本课中,您将设置运行 SOAP 和 DISH Web 服务的 SQL Anywhere Web 服务器,处理 Visual C# 客户端应用程序的请求。

前提条件

需要最新版本的 Visual Studio。

本课假定您拥有在教程教程:使用 Visual C# 访问 SOAP/DISH Web 服务开头的特权部分中列出的角色和特权。

 任务
  1. 使用以下命令启动 SQL Anywhere 演示数据库:

    dbsrv16 -xs http(port=8082) "%SQLANYSAMP16%\demo.db"

    此命令表示 HTTP Web 服务器应当监听 8082 端口上的请求。如果网络禁用了 8082 端口,则使用其它端口号。

  2. 使用以下命令来连接 Interactive SQL 中的数据库服务器:

    dbisql -c "UID=DBA;PWD=sql;SERVER=demo"
  3. 创建新的 SOAP 服务来接受进来的请求。

    在 Interactive SQL 中执行以下 SQL 语句:

    CREATE SERVICE "SASoapTest/EmployeeList"
        TYPE 'SOAP'
        DATATYPE ON
        AUTHORIZATION OFF
        SECURE OFF
        USER DBA
        AS SELECT * FROM Employees;

    此语句创建名为 SASoapTest/EmployeeList 的新 SOAP Web 服务,此服务生成 SOAP 类型作为输出。它将从 Employees 表上选定所有列,并向客户端返回结果集。用引号将服务名引起来,因为服务名中存在斜线字符 (/)。如果使用其他用户 ID 登录,则必须对 USER DBA 子句进行更改以反映您的用户 ID。

    DATATYPE ON 表示显式数据类型信息在 XML 结果集响应和输入参数中生成。此选项不影响生成 WSDL 文档。

    由于未指定 FORMAT 子句,所以 SOAP 服务格式将由下一个步骤中声明的相关 DISH 服务格式来决定。

  4. 创建一个新 DISH 服务以充当 SOAP 服务的代理并生成 WSDL 文档。

    在 Interactive SQL 中执行以下 SQL 语句:

    CREATE SERVICE SASoapTest_DNET
        TYPE 'DISH'
        GROUP SASoapTest
        FORMAT 'DNET'
        AUTHORIZATION OFF
        SECURE OFF
        USER DBA;

    从 .NET 访问的 DISH Web 服务应该用 FORMAT 'DNET' 子句来声明。GROUP 子句标识 DISH 服务应当处理的 SOAP 服务。前面步骤中创建的 EmployeeList 服务是 GROUP SASoapTest 的一部分,因为它被声明为 SASoapTest/EmployeeList。如果使用其他用户 ID 登录,则必须对 USER DBA 子句进行更改以反映您的用户 ID。

  5. 通过利用 Web 浏览器访问相关 WSDL 文档来验证 DISH Web 服务是否工作正常。

    打开 Web 浏览器,访问 [external link] http://localhost:8082/demo/SASoapTest_DNET

    DISH 服务会自动生成一个 WSDL 文档,该文档将出现在浏览器窗口中。

结果

您已设置运行 SOAP 和 DISH Web 服务的 SQL Anywhere Web 服务器,从而能够处理 Visual C# 客户端应用程序的请求。

下一个

在下一课中,将创建与 Web 服务器通信的 Visual C# 应用程序。前进至第 2 课:创建与 Web 服务器通信的 Visual C# 应用程序

 另请参见