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

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

 

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

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

 ♦  设置用于接收 RAW 请求和发送 RAW 响应的数据库服务器
  1. 使用以下命令启动 SQL Anywhere demo 数据库:

    dbsrv12 -xs http(port=8082) samples-dir\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;

    此脚本创建新的 SOAP Web 服务,称为 SASoapTest/EmployeeList,它生成 SOAP 类型作为输出。它将从 Employees 表上选定所有列,并向客户端返回结果集。

    DATATYPE ON 表示显式数据类型信息在 XML 结果集响应和输入参数中生成。此选项不影响生成 WSDL 文档。有关 DATATYPE 子句的详细信息,请参见CREATE PROCEDURE 语句(Web 客户端)

  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

  5. 通过 Web 浏览器访问 DISH Web 服务来确认它工作正常。

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

 另请参见