- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章-应用CICS-Web-Support实现以IP直连访问主机应用
(4)图片处理CICS Region的TCPIPSERVICE的定义如下图7-11所示。这里需要指定一个和消息处理CICS Region中不同的TCPIP端口号,同时在属性URM中需要指定一个不同Analyzer来实现Converter的调用。 图7-11 TCPIPSERVICE在CICS中的定义 6. 实现场景 以下是本应用实现之后的场景。用户登录主页以后可以选择注册新的用户,或者用已注册好的用户名和密码登录之后进行信息的编辑。界面如下图7-12所示: 图7-12 本应用实现之后的场景界面 7.3 CICS Web Support对非HTTP请求的处理 CICS Web Support支持对非HTTP请求的处理。 在一些场合中,用户的客户端程序是通过Socket同CICS进行通讯,这里并不是使用HTTP协议,仅仅是发来Socket的TCP数据包。 在前面的CICS Web Support中介绍过,对于非HTTP的请求CICS Web Support仍然会使用相同的CICS资源组件对其进行处理,但是Analyzer中处理的方式将会同HTTP的有所不同,而且只支持EXEC CICS WEB SEND API用来对客户端进行请求的响应和DOCUMENT API用来构建文档,其他的WEB API将无法使用,特别是我们无法用WEB RECEIVE来得到请求的数据。 非HTTP的处理并不属于Web的处理,但在现实中却经常使用,比如目前的银行ATM系统或者一些3270终端的系统和远程Server的通信,它们都不会发HTTP请求的数据包。 如果和CICS进行通信的话可能会使用MQ或者CTG的方式,但是这无疑增加了维护上的开销,所以应用CICS Web Support的方式可以进行TCP/IP的直连,无疑对客户来说节约了很大的成本。 与HTTP处理不同的是非HTTP的处理用到的Web Attach Task是CWXU,但是它仍然会调用Web Attach程序DFHWBXN。 非HTTP请求处理调用的CWS资源组件如下图7-13所示: CWS非HTTP的处理流程图如下图7-14所示: 图7-13:非HTTP请求处理调用的CWS资源组件 图7-14:CWS非HTTP的处理流程 7.3.1 TCPIPSERVICE的定义 在TCPIPSERVICE的定义中我们将指定Protocol参数为User,Transaction为CWXU。如下图7-15所示: 图7-15 TCPIPSERVICE在CICS中的定义 7.3.2 非HTTP请求Analyzer的实现 非HTTP请求的Analyzer中将不会指定如下的输入数据域: HTTP版本 Method Document path 请求数据头 请求数据会被分成几部分在网络中传输。对于非HTTP请求,CICS在调用Analyzer以前将不会对请求的数据加以重构处理,例如不会将HTTP请求的数据头部和Body分开,而是原封不动的将User Data传给Analyzer。 在User Data进入Analyzer的时候被拆成两部分,而每一次调用Analyzer只会收到其中的一个部分,所以我们必须连续地调用两次Analyzer才会将User Data完全地得到,随后才可以调用User Program来处理得到的User Data。 在这里我们需要在第一次调用Analyzer的时候指定Analyzer的返回码为URP_EXECPTION,Reason Code为URP_RECEIVE_OUTSTANDING。这样CICS Web Support会在第一次调用Analyzer的基础上进行第二次的调用,得到User Data的另一部分。 由于使用COMMAREA来获得请求数据,所以最大的字节数不能超过32767个字节。 由于我们无法用WEB RECEIVE来做Code Page的转化,所以在Analyzer中我们自己做Code Page的转换。 以下是Analyzer中关键技术的C语言实现代码。 7.3.3 User Program的改变——应用BLI接口获得请求数据 由于我们无法用WEB RECEIVE API获得请求的数据,这里我们将用到前面介绍的从BLI的COMMAREA中取得数据。 由于我们在Analyzer中做了Code Page的转化,所以在User Program中我们不需要做任何的Code Page的转化,我们需要定义一个指向BLI COMMAREA的指针来获得请求的数据。 以下为实现的部分C语言代码。 对于请求的响应这里我们仍然可以用CICS WEB SEND并指定Code Page,同HTTP的处理没有区别。 7.3.4 CWS非HTTP请求的应用实现 以上我们解决了非HTTP
文档评论(0)