SAP 调用外部系统webservice接口(SOAP-XML)-SOAMANAGER

58 篇文章 3 订阅
5 篇文章 1 订阅

SAP 调用外部系统webservice接口(SOAP-XML)-SOAMANAGER


​ 简单介绍:主要是在SAP端调用外部系统的webservice的soap接口的方式,主要包括GUI端和soamanager网页端。

一、GUI客户端创建服务消费
  1. 主要是有外围系统提供接口地址,创建企业服务,创建服务消费。首先输入事务码:SE80,右键包名,创建服务,然后选择Services Consumer

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kzQdFG2F-1678611584011)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101004595.png)]

  2. 选择创建外部WSDL类型的服务

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hVG0BNgY-1678611584012)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101033917.png)]

  3. 选择URL,如果外部系统提供WSDL文件,也可以选择本地文件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A9E9LQxi-1678611584012)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101043219.png)]

  4. 输入外围系统接口地址

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qdvPCn7U-1678611584012)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101057681.png)]

  5. 输入外围系统的用户名和密码

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gNqEC5XB-1678611584012)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101110725.png)]

  6. 选择开发包和生成类的前缀;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-53hOJOqK-1678611584013)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101130590.png)]

  7. 最后完成激活即可;

    在这里插入图片描述

二、网页端进行SOAMANAGER配置
  1. 输入事务码:soamanager,输入gui端的账号密码登录即可配置服务,如果输入somanager不管用,则需要进入事务码SICF进行配置即可。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9MAntSLS-1678611584013)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101242127.png)]

  2. 配置服务

    • 选择web服务配置:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EhA4wrRf-1678611584013)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101259634.png)]

    • 选择要配置的服务名:可以输入以上生成的abap name进行搜索,abap name为第一步生成的ABAP NAME,次名字也可以用于调用时候进行类声明:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kWsc8mUc-1678611584013)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101333048.png)]

    • 基于WSDL配置:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sCIH2tTM-1678611584014)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101359714.png)]

    • 填写端口名称,描述,后面的省缺建议勾选,避免未填写端口号报错:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r1l2fAzK-1678611584014)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101411810.png)]

    • 填写地址与账户密码:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uahuATE2-1678611584014)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101424705.png)]

    • 下一步:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wpI1xxxz-1678611584014)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101438428.png)]

    • 再次输入账号密码

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TzPZ3nkP-1678611584014)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101453813.png)]

    • 然后下一步只至操作设置,此处有可能会调用外部系统一个地址里面会有多个接口,然后再操作设置里面配置传输绑定,传入和传出的soap action根据外部地址里面的元素名设置:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sp5gWImx-1678611584015)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101505360.png)]

  3. 最后测试

三、在程序中测试

由于产生的代理时由服务中的类实现的,所以可以通过类来测试

*&---------------------------------------------------------------------*
*& 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_interface
   EXPORTING
      logical_port_name = 'ZCO_ZFM_RFC_SAP'."类名

    TRY .
      lv_input-NUM1 = 2."参数为被调用的服务有的参数
      lv_input-num2 = 4.
      "调用服务

      CALL METHOD lv_interface->ZFM_RFC_TEST001
        EXPORTING
          input = lv_input
         IMPORTING
          output = lv_output.
      CATCH cx_ai_system_fault.
      CATCH cx_ai_application_fault.

    ENDTRY.
    BREAK-POINT .
四、外围系统的接口调整

如果外围系统新增或者删除了字段,那么SAP端也要进行相应调整

步骤如下:

  1. 输入开发包然后选择要重新生成的服务,点击修改和重新生成按钮:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ikkW2uf9-1678611584015)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101745891.png)]

  2. 选择URL选择,一下步骤和上边的一样,具体步骤和生成服务的步骤一致:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Jv5DOCs-1678611584015)(D:\学习计划笔记\RFC接口\IMAGE\image-20220613101804039.png)]

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot可以使用RestTemplate来调用外部webservice接口。首先,你需要在SpringBoot中整合RestTemplate。你可以创建一个配置类,使用@Configuration注解标记,并注入RestTemplate bean。在配置类中,你可以设置RestTemplate的一些属性,比如连接超时时间、读取超时时间等。然后,你可以使用RestTemplate的方法来发送HTTP请求,调用外部webservice接口。你可以使用getForObject或postForObject等方法来发送GET或POST请求,并获取返回的结果。在调用webservice接口时,你需要提供接口的URL、请求参数等信息。你可以使用RestTemplate的exchange方法来发送请求,并获取返回的ResponseEntity对象,然后从ResponseEntity对象中获取返回的数据。总之,使用RestTemplate可以方便地调用外部webservice接口。\[1\]如果你觉得使用webservice客户端调用服务器端不方便,或者不会使用webservice客户端,可以尝试使用RestTemplate来调用webservice接口。\[1\]在SpringBoot中整合RestTemplate需要引入相应的依赖,比如spring-boot-starter-web-services和cxf-spring-boot-starter-jaxws等。你可以在项目的pom.xml文件中添加这些依赖。\[3\]然后,你可以创建一个配置类,使用@Configuration注解标记,并注入RestTemplate bean。在配置类中,你可以设置RestTemplate的一些属性,比如连接超时时间、读取超时时间等。\[2\]接下来,你可以使用RestTemplate的方法来发送HTTP请求,调用外部webservice接口。你可以使用getForObject或postForObject等方法来发送GET或POST请求,并获取返回的结果。在调用webservice接口时,你需要提供接口的URL、请求参数等信息。你可以使用RestTemplate的exchange方法来发送请求,并获取返回的ResponseEntity对象,然后从ResponseEntity对象中获取返回的数据。总之,使用RestTemplate可以方便地调用外部webservice接口。 #### 引用[.reference_title] - *1* [基于Springboot整合RestTemplate调用Webservice接口](https://blog.csdn.net/u011652364/article/details/117544660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [SpringBoot2.3整合WebService实现远程调用](https://blog.csdn.net/liu320yj/article/details/121740367)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值