主要是有外围系统提供接口地址,创建企业服务,创建服务消费。首先输入事务码:SE80,右键包名,创建服务,然后选择Services Consumer
选择创建外部WSDL类型的服务
选择URL,如果外部系统提供WSDL文件,也可以选择本地文件
输入外围系统接口地址
输入外围系统的用户名和密码
选择开发包和生成类的前缀;
最后完成激活即可;
输入事务码:soamanager,输入gui端的账号密码登录即可配置服务,如果输入somanager不管用,则需要进入事务码SICF进行配置即可。
配置服务
选择web服务配置:
选择要配置的服务名:可以输入以上生成的abap name进行搜索,abap name为第一步生成的ABAP NAME,次名字也可以用于调用时候进行类声明:
基于WSDL配置:
填写端口名称,描述,后面的省缺建议勾选,避免未填写端口号报错:
填写地址与账户密码:
下一步:
再次输入账号密码
然后下一步只至操作设置,此处有可能会调用外部系统一个地址里面会有多个接口,然后再操作设置里面配置传输绑定,传入和传出的soap action根据外部地址里面的元素名设置:
最后测试
由于产生的代理时由服务中的类实现的,所以可以通过类来测试
*&---------------------------------------------------------------------*
*& Report ZPRG_RFC_SAP001
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zprg_rfc_sap001.DATA : lv_msg TYPE string VALUE '测试接口',Lv_interface TYPE REF TO ZCO_ZFM_RFC_SAP,lv_input TYPE ZZFM_RFC_TEST001,lv_output TYPE ZZFM_RFC_TEST001RESPONSE."创建代理服务CREATE OBJECT lv_interfaceEXPORTINGlogical_port_name = 'ZCO_ZFM_RFC_SAP'."类名TRY .lv_input-NUM1 = 2."参数为被调用的服务有的参数lv_input-num2 = 4."调用服务CALL METHOD lv_interface->ZFM_RFC_TEST001EXPORTINGinput = lv_inputIMPORTINGoutput = lv_output.CATCH cx_ai_system_fault.CATCH cx_ai_application_fault.ENDTRY.BREAK-POINT .
如果外围系统新增或者删除了字段,那么SAP端也要进行相应调整
步骤如下:
输入开发包然后选择要重新生成的服务,点击修改和重新生成按钮:
选择URL选择,一下步骤和上边的一样,具体步骤和生成服务的步骤一致:
上一篇:OSTrack 代码阅读记录
下一篇:Redis7之介绍(一)