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 服务 » 使用 Web 客户端访问 Web 服务 » 开发 Web 客户端应用程序 » 在结果集中访问变量

 

使用数据类型(仅用于 SOAP)

缺省情况下,参数输入的 XML 编码为字符串,SOAP 服务格式的结果集输出中不包含明确描述结果集中列的数据类型的信息。对于所有格式,参数数据类型都为字符串。对于 DNET 格式,在响应的模式部分中所有列的数据类型均设置为字符串。CONCRETE 和 XML 格式不包含响应中的数据类型信息。可使用 DATATYPE 子句处理此缺省行为。

SQL Anywhere 允许使用 DATATYPE 子句设置数据类型。数据类型信息包含在参数输入和结果集输出或所有 SOAP 服务格式的响应的 XML 编码中。这样一来便不再需要客户端代码将参数显式转换为字符串,从而简化了从 SOAP 工具箱进行参数传递。例如,可将整数作为整型进行传递。XML 编码的数据类型允许 SOAP 工具箱分析数据并将其归到相应类型。

以独占方式使用字符串数据类型时,应用程序需要隐式地了解结果集内每列的数据类型。当 Web 服务器请求数据类型时,无需执行此操作。在定义 Web 服务时,可使用 DATATYPE 子句控制是否包括数据类型信息。

下面是征用结果集响应数据类型的 Web 服务定义的示例。

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

在此示例中,由于此服务没有参数,因此仅为结果集响应请求数据类型信息。

数据类型适用于所有定义为 'SOAP' 类型的 SQL Anywhere Web 服务。

 输入参数的数据类型
 输出参数的数据类型
 将 SQL Anywhere 类型映射到 XML 模式类型
 将 XML 模式类型映射到 Java 类型