SAP 调取https(API)接口

SAP如何发布Https接口:https://www.cnblogs.com/StephenAmell/p/16744370.html

一、对https接口的简单认识

我使用的百度天气接口
在这里插入图片描述

1.参数-Params
这些参数为必填,看接口的开发文档的要求来就好了。
用户密匙在上面申请创建
在这里插入图片描述

2.权限-Authorization
一些API是要用户和密码

3.抬头-Headers
json 格式,和utf-8这类的信息。在ABAP对应的设置是:

  CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
    EXPORTING
      NAME  = 'Content-Type'
      VALUE = 'application/json'.

在这里插入图片描述
4.主体-Body
为json格式的数据,比如
在这里插入图片描述

二、实例操作

1.获取天气接口的密匙
https://lbsyun.baidu.com/apiconsole/center#/home

2.天气接口用这个比较方便
https://tianqiapi.com/
按照网站的提示操作就可以了。

2.SE38创建程序

DATA: len         TYPE        i, "发送报文长度"
      len_string  TYPE        string,
      url         TYPE        string, "接口地址
      http_client TYPE REF TO if_http_client, "http客户端
      post_string TYPE        string,
      result      TYPE        string.
DATA: it_header  TYPE tihttpnvp,
      gv_json_in TYPE string VALUE '' .

START-OF-SELECTION.

  url = 'https://api.map.baidu.com/weather/v1/district_id=222405&data_type=all&ak=******自己去申请密匙'.
 "url = 'http://192.168.******' ."

    cl_http_client=>create_by_url(
        EXPORTING url = url    "服务提供方服务地址
        IMPORTING client  =  DATA(lo_client)
      ).

  "调取方式:get 或者为 post"
  " lo_client->request->set_method( if_http_request=>co_request_method_post ).
   lo_client->request->set_method( if_http_request=>co_request_method_get ).

**  设置post接口body参数"
      lo_client->request->set_cdata( data = gv_json_in ).

**  发送数据
    lo_client->send(
*      EXPORTING
*        timeout                    = co_timeout_default " Timeout of Answer Waiting Time
      EXCEPTIONS
        http_communication_failure = 1                  " Communication Error
        http_invalid_state         = 2                  " Invalid state
        http_processing_failed     = 3                  " Error When Processing Method
        http_invalid_timeout       = 4                  " Invalid Time Entry
        OTHERS                     = 5
    ).
    IF sy-subrc <> 0.
       result = '接口接受响应失败'.
    ENDIF.

**********************************************************************
**  接收返回参数
    lo_client->receive(
      EXCEPTIONS
        http_communication_failure = 1                " Communication Error
        http_invalid_state         = 2                " Invalid state
        http_processing_failed     = 3                " Error When Processing Method
        OTHERS                     = 4
    ).
    IF sy-subrc <> 0.
      result = '接口接受响应失败'.
    ENDIF.

    result = lo_client->response->get_cdata( ).

  lo_client->close( ).
 WRITE: url.
  WRITE: / result.

3.上传证书
在网站上下载证书之后,进入STRUST 事务代码,导入证书
在这里插入图片描述
3.运行程序

在这里插入图片描述
成功返回天气结果

4.https需要导入证书,不然会报500 SSL Peer错误
在这里插入图片描述
如果报错404那说明是
1.数据格式或者程序代码问题。
2.另外需要找服务器管理员,在SAP服务器能不能PING 通接口地址,可能需要设置DNS

5.http就不用导入证书就可以链接
url换成内网的IP接口地址
运行结果:接口已经调取成功,只是我传输的内容不对。
在这里插入图片描述

参考链接:
SAP调用外部API

我是寒武青锋,分享使我快乐。记得点赞哈
请添加图片描述

  • 17
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
SAP Process Orchestration API是一组用于实现业务流程编排的应用程序接口API)。它是基于SAP的Process Orchestration(PO)平台,提供了一种集成不同系统、应用程序和服务的方法。通过使用这些API,企业可以实现系统之间的无缝集成,使各个系统能够在一个统一的业务流程中协同工作。 SAP Process Orchestration API具有丰富的功能和灵活性,可以满足不同企业的需求。它可以与SAP系统和非SAP系统集成,包括第三方应用程序、云服务和外部服务提供商。通过这些API,企业可以通过自动化和集成来提高业务流程的效率和质量。 使用SAP Process Orchestration API,企业可以实现以下功能: 1. 数据传输和转换:API提供了数据传输和转换功能,可以将数据从一个系统传输到另一个系统,并在传输过程中对数据进行转换和映射。 2. 流程编排和控制:API允许企业定义和管理复杂的业务流程,并对其进行监控和控制。它提供了灵活的流程编排和逻辑控制功能,使企业能够根据自身需要自定义业务流程。 3. 事件处理:API可以捕获和处理不同系统和应用程序中发生的事件。它可以在事件发生时触发相应的操作,并将数据传递给相关的系统和应用程序。 4. 异常处理和错误处理:API提供了异常处理和错误处理功能,可以自动检测并处理由于系统故障、数据错误或其他问题引起的异常。 5. 监控和报告:API允许企业对业务流程的执行进行实时监控和报告。它可以提供有关流程执行情况、错误和警告的详细信息,帮助企业及时发现和解决问题。 总之,SAP Process Orchestration API是一个强大的工具,可以帮助企业实现业务流程的集成、编排和控制。使用这些API,企业可以提高业务流程的效率、准确性和可靠性,从而提升企业的竞争力和业绩。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值