Interface->Web Service的调用
Webservice的调用
导入外部wsdl文件,配置激活代理类
- webService调用配置
webService发布之后,我们就需要到调用该webService的系统进行一些相关配置,实现调用之前的接口函数。
在要调用该webService的SAP系统,执行事务码SE80。
在相应对象上右键选择Create→Enterprise Service,并执行该菜单功能,进入如下图所示界面:
选择Service Consumer,点击继续。
选择URL/HTTP Destination,点击继续。
在URL文本框中录入之前查询的URL。录入之后点击继续。
填写Prefix信息,勾选Local Object复选框,将对象保存到本地,否则录入相应的package和Request/Task,点击继续按钮。
点击完成按钮。
录入webService所在系统的用户名、密码,点击确定按钮。
点击激活按钮。然后执行事务码SOAMANAGER,创建逻辑端口。
记住 逻辑端口 在调用程序中会用到。
URL为EndPoint地址,经检查后激活该逻辑端口。
Report调用接口DEMO:
DATA:WEBSERVICE TYPE REF TO ZPM_APPCO_TEST_API_SERVICE. DATA: GW_INPUT TYPE ZPM_APPSAVE_ORDER1, LS_INTAB TYPE ZPM_APPORDER, LT_INTAB TYPE TABLE OF ZPM_APPORDER, LT_RETURN TYPE TABLE OF ZPM_APPORDER_TAB, GW_OUTPUT TYPE ZPM_APPSAVE_ORDER_RESPONSE1. DATA:LO_SYS_EXCEPTION TYPE REF TO CX_AI_SYSTEM_FAULT, LO_APP_EXCEPTION TYPE REF TO CX_AI_APPLICATION_FAULT. DATA: P_STR1 TYPE STRING, P_STR2 TYPE STRING, P_STR3 TYPE STRING. TRY. CREATE OBJECT WEBSERVICE EXPORTING LOGICAL_PORT_NAME = 'ZPMTEST'. "为此webservice创建的逻辑端口。 CATCH CX_AI_SYSTEM_FAULT . MESSAGE '接口调用失败' TYPE 'E'. ENDTRY. LS_INTAB-ID = '9'. LS_INTAB-ORDER_NO = 'A12349'. APPEND LS_INTAB TO LT_INTAB. LS_INTAB-ID = '7'. LS_INTAB-ORDER_NO = 'A12347'. APPEND LS_INTAB TO LT_INTAB. LS_INTAB-ID = '8'. LS_INTAB-ORDER_NO = 'A12348'. APPEND LS_INTAB TO LT_INTAB. clear GW_INPUT. GW_INPUT-PARAMETERS-ORDER = LT_INTAB[]. TRY. CALL METHOD WEBSERVICE->SAVE_ORDER EXPORTING SAVE_ORDER = GW_INPUT IMPORTING SAVE_ORDER_RESPONSE = GW_OUTPUT. CATCH CX_AI_SYSTEM_FAULT INTO LO_SYS_EXCEPTION . "“message ‘出错了’ type ‘s’. WRITE LO_SYS_EXCEPTION->ERRORTEXT.捕获异常消息 CATCH CX_AI_APPLICATION_FAULT INTO LO_APP_EXCEPTION . WRITE / . WRITE LO_APP_EXCEPTION->TEXTID. ENDTRY. LOOP AT GW_OUTPUT-PARAMETERS-RETURN INTO DATA(LS_RETURN). ENDLOOP.
post SAP-Garson
原文链接:https://www.cnblogs.com/abapmila/p/15964380.html文章来自于网络,如果侵犯了您的权益,请联系站长删除!