ABAP外调WebService过程介绍

上传人:博****1 文档编号:563934266 上传时间:2023-06-19 格式:DOC 页数:15 大小:775.50KB
返回 下载 相关 举报
ABAP外调WebService过程介绍_第1页
第1页 / 共15页
ABAP外调WebService过程介绍_第2页
第2页 / 共15页
ABAP外调WebService过程介绍_第3页
第3页 / 共15页
ABAP外调WebService过程介绍_第4页
第4页 / 共15页
ABAP外调WebService过程介绍_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《ABAP外调WebService过程介绍》由会员分享,可在线阅读,更多相关《ABAP外调WebService过程介绍(15页珍藏版)》请在金锄头文库上搜索。

1、第一章 proxy (代理)的生成首先通过 se80 进入到我们要创建 proxy (代理)的 package(包)。以我的 zhr_password_change 程序为例,该程序 的目的是帮助用户修改密码,所以进入的是 ZHR 包。进入 ZHR包后,右键选择 Create - Enterprise Service / Web Service - Proxy Object ,弹出如下选择框:由于我们是外调 Web Service,所以选择 Service Consumer 选项,并点击继续。随后出现下面的选择界面:这个选择界面中,如果我们自己的机器就是服务器,那么可以选择Local File

2、,然后给出 WSDL文件所在地。不过一般情况下,我们是通过 URL/HTTP访问 WSDL 文件的。这里,我得到的 WSDL文件地址为: http:/10.3.11.123/jfids/ChangePwService?wsdl我们需要先确认这个链接的有效性,可以在浏览器中打开这个链接,如果链接有效,则我们可以看到对应的 xml 代 码:将有效的 URL地址输入,点击继续,如图:接下来要选择 package(包)和 prefix(前缀),package 即 proxy(代理)所在的包, prefix 即代理各种属性(比如名 称)、包含数据类型(比如输入数据类型、输出数据类型)等的前缀,主要用于与

3、系统变量进行区分。我这里选择 的包是 ZHR、前缀为 ZCMIS_。输入包名、前缀后选择继续,此时会出现确认信息:完成后,会看到 workbench request ,设置请求号和描述:然后我们会发现 package(包)里出现了 Enterprise Service 选项,里面包含了代理类及其用到的数据类型。我们需 要保存并激活 Enterprise Service 选项:External View 和 Internal View 分别展示了从被调用方和调用方看到的类的属性,我们可以看到原函数名称以及它在 ABAP代码中的名称:Used Object选项会列出新生成的 proxy 类型以及其

4、需要的数据类型 (也就是前面指的输入数据类型、 输出数据类型)我们可以通过双击 proxy 类型,察看这个类包含的属性和方法。 这里,我们可以看到 ZCMIS_CO_CHANGE_PW_SERVICE 包含了一个构造函数和一个 SET_PW_DATA方法:双击任意方法,就可以看到它的代码。这里,我双击了构造函数(CONSTRUCTO)R,可看到该构造函数需要文件名和逻辑端口号,以后的内容我们将介绍逻辑端口号的配置和使用:同样,我们在 Used Objects 中除了察看 ZCMIS_CO_CHANGE_PW_SERVIC的E属性和方法之外, 还可以察看其输入、 输 出数据的细节,以输入数据为例

5、,双击ZCMIS_SET_PW_DAT:A可以看到, ZCMIS_SET_PW_DATA是一个结构, 包含了 CONTROLLE、RARG0、ARG1、ARG2四个元素。 其中 CONTROLLER 用于控制其它元素的格式,另外三个元素则来源于外部的Web Service。此处它们对应的是 userID 、 oldPassword、newPassword 三个数值。CONTROLLER是 PRXCTRLTAB类型,即一个由 PRXCTRL类型的数据组成的表格。 PRXCTRL类型叫做输入格式控制,包 含两个字段: FIELD和 VALUE。其中, FIELD对应着被控制的字段名称, VALUE

6、通过不同值控制对应字段的输入格式 (通常为 1 ),罗列如下:1Initial Value初始化,比如数字为 0,日期为 0000-00-00 等2xsi:nil=truexml 节点元素可为空3Hide隐藏第二章 设置逻辑端口上一章我们在察看 ZCMIS_CO_CHANGE_PW_SERVIC类E的 CONSTRUCTO(R 构造函数)的时候,看到有个参数叫做逻 辑端口,逻辑端口可以用于软件之间的数据交互,也可用于连接物理端口(比如打印机) 。下面我们将配置 ZCMIS_CO_CHANGE_PW_SERVIC需E要的逻辑端口。使用事务代码 lpconfig 可以进入管理逻辑端口的界面:输入代

7、理类名称, 逻辑端口名称 (这个可以自己命名, 比如我们的逻辑端口用 HTTP协议、80 端口连接 CMIS 系统, 所以逻辑端口名称就为 CMIS_HTTP80)。如果该类没有缺省端口,需要选中缺省端口,这样才能在构造函数没有指 明端口的情况下会将缺省端口作为逻辑端口。选择中间的创建,进入编辑界面。在描述一栏,我们可以给出中文的信息,比如“员工自助修改密码” 。运行时间 一栏,我们需要选择 Web 服务基础结构。然后在调用参数一栏,我们需要给出 URL 地址,即前面提到的 http:/10.3.11.123/jfids/ChangePwService?wsdl :保存设置,会出现 custo

8、mizing request ,设置请求号与描述:激活设置,即完成了逻辑端口配置。第三章 调用 Web Service 的代码介绍ABAP 代码名为: ZHR_PASSWORD_CHANG。E代这里依然将以员工自助密码修改的功能为例,我为这个功能编写的码内容如下(需要重点关注的部分,我将以加粗字体进行介绍)*&*& Report ZHR_PASSWORD_CHANGE*&*&*& 本程序用于员工 PORTAL 密码修改*& 该界面获取用户输入的旧密码、新密码信息后,通过调用 WebService 对这些数据进行*&处理,完成更新密码的工作*& WebService 对应类型为 ZLP01CO_

9、CHANGE_PW_SERVICE :*&输入为结构 ZLP01GET_STRING ,含三个字段:*& arg0 :用户 ID*& arg1旧密码*& arg2 :新密码*& 输出为结构 ZLP01GET_STRING_RESPONSE ,含一个字段:*& return :计算结果 ,success为成功, fail为失败*& 更多详情请参看其他注释*&*&*& 变量定义部分*&*REPORT ZHR_PASSWORD_CHANGE.DATA: ok_code TYPE sy - ucomm , 用户操作userid TYPE sy - uname . 用户 IDDATA: pre pass

10、word str( 24)TYPE c , 对应 0100屏幕第一行文本框new password str1( 24)TYPE c , 对应 0100屏幕第二行文本框new password str2( 24)TYPE c . 对应 0100屏幕第三行文本框DATA: webservice proxyWebService代理对象TYPE REF TOZCMIS_COCHANGE PW SERVICE, WebService代理类型webservice inputTYPE ZCMIS SET PW DATA , 输入参数包,包含了三个参数webservice outputTYPE ZCMIS S

11、ETPW DATA RESPONSE , 返回值包,包含了返回值wa inputLIKE prxctrl . 输入格式控制DATA: webservice sys errorTYPE REF TOcx ai system fault, 系统错误webservice_app_errorTYPE REF TOcx_ai_application_fault. 应用错误DATA: new password lengthTYPE i , 新密码长度digit_countTYPE i . 新密码包含数字的位数我们在 se80 中利用外部链接 http:/10.3.11.123/jfids/ChangePw

12、Service?wsdl 定义好了ZCMIS_CO_CHANGE_PW_SERVIC类E ,这里的 webservice_proxy 即该类的对象。在第一章中,我们知道这个类的SET_PW_DATA方法的输入数据类型为 ZCMIS_SET_PW_DAT(A 含有 CONTROLLER、ARG0、ARG1、ARG2 四个字段)、返回数据类型为 ZCMIS_SET_PW_DATA_RESPON(SE含有 CONTROLLER、RETURN 两个字段) ,所以这里需要专门定义 webservice_input 、 webservice_output 作为输入、输出的对象。wa_input 类型为 prxctrl (参见第一章的内容) , CONTROLLER字段就是

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号