HTTP 类型的 Web 服务过程在一个两列式结果集中返回关于响应的所有信息。此结果集包含响应状态、标头信息和主体。第一列名为 Attribute,第二列名为 Value。两列的数据类型都是 LONG VARCHAR。
结果集为每个响应标头字段都提供一个数据行,并且分别为 HTTP 状态行(Status 属性)和响应主体(Body 属性)提供了一个数据行。
以下示例代表一个典型响应:
属性 | 值 |
---|---|
Status | HTTP /1.0 200 OK |
Body | <!DOCTYPE HTML ... ><HTML> ... </HTML> |
Content-Type | text/html |
Server | GWS/2.1 |
Content-Length | 2234 |
Date | Mon, 18 Oct 2004, 16:00:00 GMT |
创建以下 Web 服务存储过程,作为示例。
CREATE OR REPLACE PROCEDURE SybaseWebPage() URL 'http://www.sybase.com/mobilize' TYPE 'HTTP'; |
执行以下 SELECT 查询,从 Web 服务获取结果集形式的响应。
SELECT * FROM SybaseWebPage() WITH (Attribute LONG VARCHAR, Value LONG VARCHAR); |
由于 Web 服务过程不会描述结果集的形状,因此,需要使用 WITH 子句定义临时视图。
查询结果可存储在表中。执行以下 SQL 语句,创建用于存储结果集值的表。
CREATE TABLE StoredResults( Attribute LONG VARCHAR, Value LONG VARCHAR ); |
可将结果集按以下所示插入到 StoredResults 表中:
INSERT INTO StoredResults SELECT * FROM SybaseWebPage() WITH (Attribute LONG VARCHAR, Value LONG VARCHAR); |
可以根据 SELECT 语句的通常语法添加子句。例如,如果只需要结果集中的特定行,则可以添加 WHERE 子句将 SELECT 的结果限定为仅一行。
SELECT * FROM SybaseWebPage() WITH (Attribute LONG VARCHAR, Value LONG VARCHAR) WHERE Attribute = 'Status'; |
此 SELECT 语句仅从结果集中检索状态信息。它可用于验证调用是否成功。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |