点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我必须查询一个外部URL来获取一些我们必须在系统中使用的数据。
现在,API已从GET更改为POST。
之前,我们直接在RFC中维护URL参数,并能够生成成功的响应。
但是现在由于自从API更改(当我更改用于发布QUERY参数的请求方法)以来,该更改未传递给服务。
例如,如果我的URL是" XXXX .XXXX.net/v1/oauth2/tokens?grant_type = client-credentials ",该服务仅获得 XXXX.XXXX.net/v1/oauth2/令牌。 查询参数将被发布请求截断。
我已经检查了帖子中的选项
https://archive.sap.com/discussions/thread/3437183
还有其他方法吗? 使它像GET方法那样工作?
https: //help.sap.com/http.svc/rc/abapdocu_752_index_htm/7.52/zh-CN/index.htm?file=abenicf_post_service_abexa.htm
我该如何解决 ?
URL参数可以通过两种方式传递。 下面的代码将为您提供所需的确切信息(根据邮递员屏幕截图)。
1。
lo_http_client-> append_field_url(
导出
name ='fieldname'"字段名称
value ='fieldvalue'"字段Value
CHANGING
url ='lv_url'" URL指向 附加字段
)。
2。
lo_http_client-> request-> set_form_field(
EXPORTING
name ='fieldname'"表单字段名称
value ='fieldvalue'"表单字段值
)。
> cl_http_utility => set_request_uri(request = lo_http_client-> request
uri = lv_url)。
此致
HI Horst,
感谢您的快速回复。
这是通过RFC(类型G)调用的外部非SAP服务,该服务使用通过客户端凭据进行的基本身份验证。
我们必须提供用于验证的用户名和密码。 最重要的是,这是一个传出的HTTPS请求。 我们将根据已配置的RFC目标实例化该目标。
在该示例中,我们只是调用服务并显示它。 但是,我们希望调用外部服务并处理响应,并将其用于进一步处理。
简而言之,有一种使用CL_HTTP_CLIENT类传递QUERY参数的方法。 我知道我们可以通过SET_HEADER_FIELD和SET_FORM_FIELD方法传递Header参数和表单参数。 但是此外部服务使用查询参数。
这就是邮递员
以黄色突出显示的文本是查询参数。 并且不被视为Header参数或Form参数。
等待您的宝贵反馈。
亲切的问候,
Vamsi
一周热门 更多>