第一章 Web Services和 Web Clients简介

第一章 Web Services和 Web Clients简介

IRIS 数据平台支持 SOAP 1.11.2(简单对象访问协议)。这种支持易于使用、高效且与 SOAP 规范完全兼容。此支持内置于 IRIS 中,并且可在 IRIS 支持的每个平台上使用。

Web Services简介

创建 Web 服务

IRIS 中,可以通过以下任一方式创建 Web 服务:

  • 通过一些小的更改将现有类转换为 Web 服务。还需要修改用作参数的任何对象类,以便 %XML.Adaptor 可以打包在 SOAP 消息中。
  • 通过从头开始创建一个新的 Web 服务类。
  • 通过使用 SOAP 向导读取现有 WSDL 文档并生成 Web 服务类和所有支持类型类。

如果已经设计了 WSDL 并且现在需要创建符合它的 Web 服务,则适用此技术(WSDL 优先开发)。

作为 Web 应用程序一部分的 Web 服务

Web 服务必须在您在管理门户中配置的 Web 应用程序中运行。具体来说,在使用 Web 服务类之前,必须定义一个使用包含该类的命名空间的 Web 应用程序。

WSDL

当类编译器编译 Web 服务时,它会为该服务生成 WSDL,并通过配置的 Web 服务器发布该服务,以方便使用。此 WSDL 符合 WS-I(Web 服务互操作性组织)建立的基本配置文件 1.0。在 IRIS 中,WSDL 文档通过特定 URL 动态提供,并自动反映您所做的任何更改Web 服务类的接口(除了运行时添加的标头元素)。在大多数情况下,可以使用此文档生成与 Web 服务互操作的 Web 客户端。

Web Service 架构

要了解 IRIS Web 服务在默认情况下如何工作,跟踪 Web 服务收到它可以理解的消息(包含 SOAP 消息的HTTP 请求)时发生的事件非常有用。

首先考虑此 HTTP 请求的内容,该请求定向到特定 URL

  • HTTP 标头指示 HTTP 版本、字符集和其他此类信息。

HTTP 标头必须包含 SOAP 操作,它是指示 SOAP HTTP 请求意图的 URI

对于 SOAP 1.1SOAP 操作作为 SOAPAction HTTP 标头包含在内。对于 SOAP 1.2,它包含在 Content-Type HTTP 标头中。

SOAP 操作通常用于路由入站 SOAP 消息。例如,防火墙可以使用此标头来适当过滤 HTTP 中的 SOAP 请求消息。 SOAPURI 的格式或特殊性或其可解析性没有任何限制。

  • 请求行,包括 HTTP 方法,例如 GETPOSTHEAD。该行指示要采取的操作。
  • 消息正文,在本例中是包含方法调用的 SOAP 消息。更具体地说,此 SOAP 消息指示要调用的方法的名称以及要用于其参数的值。该消息还可以包含 SOAP 标头。

现在让我们检查一下发送此请求时会发生什么:

  1. 该请求由第三方 Web 服务器接收。
  2. 由于请求定向到以 .cls 结尾的 URL,因此 Web 服务器会将请求转发到 Web 网关。
  3. Web 网关检查 URL。它将部分 URL 解释为 Web 应用程序的逻辑名称。网关将请求转发到该 Web 应用程序内的适当物理位置(Web 服务的页面)。
  4. Web 服务页面收到请求时,它会调用其 OnPage() 方法。
  5. Web 服务检查请求是否包含 SOAP 会话标头,如果包含,则恢复适当的 SOAP 会话或启动新会话。

注意:此步骤指的是 SOAP 支持所支持的 SOAP 会话。 SOAP 规范没有定义会话标准。但是,SOAP 支持提供了专有的SOAP 会话标头,您可以使用它来维护 Web 客户端和 Web 服务之间的会话,如此处所述。

  1. Web 服务解包消息,验证它,并将所有输入参数转换为其适当的 IRIS 表示形式。对于每个复杂类型,转换都会创建一个表示复杂类型的对象实例,并使用该对象作为 Web 方法的输入。

此处使用 HTTP 标头中的 SOAP 操作来确定方法,从而确定请求对象。

Web 服务解包消息时,它会创建一个新的请求对象并将 SOAP 消息导入到该对象中。在此过程中,Web 服务使用编译 Web 服务时创建的生成类(Web 方法处理程序类)。

  1. Web 服务执行请求的IRIS 方法、打包回复并构造 SOAP 响应,包括 SOAP 标头(如果适用)。
  2. Web 服务将 SOAP响应(XML 文档)写入当前输出设备。

下图显示了该流程的外部部分:

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容