SAP 中 Webservice的发布和调用过程。
20180620 新建程序测试Webservice 服务。
REPORT YTEST_WEBSERVICE_N . DATA LS_CONSUMER TYPE REF TO ZCL_CO_ZWS_ZPPT006M . DATA LS_INPUT TYPE ZCL_ZWS_ZPPT006M . DATA LS_OUTPUT TYPE ZCL_ZWS_ZPPT006M_RESPONSE . DATA CRTX TYPE REF TO CX_AI_SYSTEM_FAULT . DATA MESSAGE TYPE STRING. DATA LS_TABLE TYPE ZCL_TABLE_OF_ZPPT006M. FIELD-SYMBOLS <FS_TABLE> TYPE ANY TABLE. DATA IT_TAB TYPE TABLE OF ZPPT006M . DATA WA_TAB TYPE ZPPT006M. PARAMETERS P_zjhpgd type zppt006m-ZJHPGD. . LS_INPUT-ZJHPGD = P_zjhpgd. TRY. CREATE OBJECT LS_CONSUMER EXPORTING LOGICAL_PORT_NAME = 'ZWS_ZPPT006M' . CATCH CX_AI_SYSTEM_FAULT . MESSAGE '创建逻辑端口错误!' TYPE 'S' DISPLAY LIKE 'E' . EXIT. ENDTRY. TRY. CALL METHOD LS_CONSUMER->ZWS_ZPPT006M EXPORTING INPUT = LS_INPUT IMPORTING OUTPUT = LS_OUTPUT . CATCH CX_AI_SYSTEM_FAULT INTO CRTX . MESSAGE = CRTX->GET_TEXT( ). ENDTRY. IF LS_OUTPUT-SUBRC = 0. LS_TABLE = LS_OUTPUT-TZPPT006M . IF SY-SUBRC = 0 . ASSIGN LS_TABLE-ITEM TO <FS_TABLE>. IF SY-SUBRC = 0. LOOP AT <FS_TABLE> ASSIGNING FIELD-SYMBOL(<FS>) . MOVE-CORRESPONDING <FS> TO WA_TAB . APPEND WA_TAB TO IT_TAB . ENDLOOP. ENDIF. ENDIF. ENDIF. DATA TBNAME TYPE DD02L-TABNAME VALUE 'ZPPT006M' . CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING I_CALLBACK_PROGRAM = SY-CPROG I_STRUCTURE_NAME = TBNAME I_SAVE = 'U' TABLES T_OUTTAB = IT_TAB EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. *BREAK-POINT.
SICF的服务配置 交由Basis大佬处理,我们只说Abap端。建立RFC函数
用来做Webservice Provider
。
用这个地址生成。xml文件后面Somanamger处理消费者接口 的逻辑端口时,以文件的形式导入。
第二部
创建消费者接受端口。
保存激活 成功。
第三步事务码SOAMANMGER .调用和发布
太多了
不想截图了这就是结果了。
如下为测试过程 在DEV300系统调用QAS700系统返回得到的数据如下