SAP调用SOAP服务配置

背景

SAP系统通过SOAP服务与其他系统集成,其中SAP是请求方,需要调用第三方系统的SOAP服务

前提

第三方系统服务地址

系统之间可联通

提供服务验证方式

步骤

  • 建立消费类
  1. SE80定位至开发包,右键->新建->企业服务,选择Service consumer,点击继续

SAP调用SOAP服务配置

  1. 选择External WSDL/Schema,点击继续

SAP调用SOAP服务配置

  1. 选择URL

SAP调用SOAP服务配置

  1. 输入URL地址,点击继续

SAP调用SOAP服务配置

 

  1. 输入开发包,请求,代理类前缀(建议Z+模块缩写,如ZMDG_)

 

SAP调用SOAP服务配置

  1. 点击**,至此消费类创建完成,下一步需要设置逻辑端口,指定目标服务器

SAP调用SOAP服务配置

  • 设置逻辑端口
  1. 点击下图指示处或使用soamanager打开Service Consumers配置

SAP调用SOAP服务配置

  1. 新建逻辑端口ZLP01,并设置为默认端口

 

SAP调用SOAP服务配置

SAP调用SOAP服务配置

 

 

 

SAP调用SOAP服务配置

其他步骤默认,如需用户名密码验证则填入,最后点击完成

SAP调用SOAP服务配置

  • 示例程序

 

 

DATA:lo_proxy TYPE REF TO ypwk_co_domain_service.

CREATE OBJECT lo_proxy.

DATA:import_domain          TYPE ypwk_import_domain1,
     import_domain_response TYPE ypwk_import_domain_response1.

"导入参数赋值
import_domain-parameters-is_req_head_async-zinstid = '23421321321'.
import_domain-parameters-is_req_head_async-zzreqtime = '20190702181514'.

import_domain-parameters-it_data-item = VALUE #(
(
  zzserial = '0001'
  zzdom_code = 'ZZJGLX'
  zzdom_value = 'c'
  zzdom_t_cn = '企业'
  zzdom_level = '1'
  zzver = '1'
  zzchtime = '20190620181523'
  zzdel = '1'
  )
).

"调用下游服务
TRY .
    lo_proxy->import_domain(
    EXPORTING
      import_domain import_domain
    
IMPORTING
      import_domain_response import_domain_response
      
).

    MESSAGE import_domain_response-parameters-es_response-es_return-zzmsg TYPE 'I'.
  CATCH  cx_ai_system_fault INTO DATA(lo_system_error).
    DATA(lv_message) = lo_system_error->get_text( ).
    MESSAGE lv_message TYPE 'S' DISPLAY LIKE 'E'.
ENDTRY.