PO发布RESTful接口
Posted 想发财的小夏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PO发布RESTful接口相关的知识,希望对你有一定的参考价值。
PO发布RESTful接口
前言
本文主要介绍,通过PO发布的RESTful接口供其他系统调用
ESB端配置
1.SAP-外围系统
按照Data Types - Message Types - Service Interfaces的顺序进行配置sap端的字段,分别配置Request和Respond
Data Type(如下):
Message Type(如下):
Service Interfaces(如下):
2.外围系统-SAP
按照Data Types - Message Types - Service Interfaces的顺序进行配置sap端的字段,分别配置Request和Respond,最后需要建立mapping
Data Type(如下):
Message Types(如下):
Service Interfaces(如下):
Message Mapping(如下):
需要注意mapping的方向!!!
Operation Mapping(如下):
一定要注意mapping的方向,不然会导致IB的时候报错。
激活即可
Integration Builder 端配置
需要按照CC-IC-CS的顺序配置
1. CC配置(Communication Channel)
红框处用来配置json结构的[]
2. IC配置(Integrated Configuration)
3. CS配置(Configuration Scenario)
激活即可
SAP端配置
在PO端配置完成后,进入SAP GUI,使用tcode sproxy,找到对应生成的代理类,激活即可
生成的代理类里req和res即为接口的入参和出参,写入处理的函数即可
代码如下:
CONSTANTS:lc_fm_name TYPE rs38l-name VALUE 'ZEWM01_006'.
DATA:ls_data TYPE zdt_reject_delivery_res_body,
lv_docno TYPE vbeln_vl,
ev_type TYPE bapi_mtype,
ev_msg TYPE bapi_msg,
lv_code.
CALL FUNCTION 'FUNCTION_EXISTS'
EXPORTING
funcname = lc_fm_name
EXCEPTIONS
function_not_exist = 1.
IF sy-subrc = 0.
CLEAR:ls_data,lv_docno,ev_type,ev_msg,lv_code.
lv_docno = input-mt_reject_delivery_req-head-vbeln.
CALL FUNCTION lc_fm_name
EXPORTING
lv_doc_no = lv_docno
IMPORTING
ev_type = ev_type
ev_msg = ev_msg.
CASE ev_type.
WHEN 'S'.
lv_code = '0'.
WHEN OTHERS.
lv_code = '1'.
ENDCASE.
output-mt_reject_delivery_res-returncode = lv_code.
output-mt_reject_delivery_res-returnmessage = ev_msg.
ELSE.
output-mt_reject_delivery_res-returncode = '1'.
output-mt_reject_delivery_res-returnmessage = '调用函数:' && 'ZEWM01_006' && '未找到'.
ENDIF.
output-mt_reject_delivery_res-agreement = input-mt_reject_delivery_req-agreement.
output-mt_reject_delivery_res-trainid = input-mt_reject_delivery_req-trainid.
output-mt_reject_delivery_res-time = input-mt_reject_delivery_req-time.
output-mt_reject_delivery_res-fromdsid = input-mt_reject_delivery_req-fromdsid.
output-mt_reject_delivery_res-dsid = input-mt_reject_delivery_req-dsid.
output-mt_reject_delivery_res-head-enter_user = input-mt_reject_delivery_req-head-enter_user.
APPEND VALUE #( vbeln = lv_docno ) TO ls_data-h.
APPEND ls_data TO output-mt_reject_delivery_res-body.
Postman测试
也可以使用其他接口测试工具
Postman配置如下:
body填入参数
"agreement": "mes_sap",
"tranid": "20210728111533416389000",
"time": "20210728111533419718000",
"dsid": "1015",
"fromdsid": "1006",
"head":
"vbeln": "123"
,
"body": [
]
send即可看到返回参数,通过status可以判断接口状况
总结
以上就是PO发布RESTful接口的全部配置,如有问题请在评论区指出,谢谢。
以上是关于PO发布RESTful接口的主要内容,如果未能解决你的问题,请参考以下文章