从SAP调用API(印度的GST E-INVOICE)身份验证方法(标头+有效负载)

2020-08-22 22:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我必须调用url进行身份验证,发布并从api GST电子发票中获取数据。

分为两部分:标头+有效内容。(附有屏幕截图)

我如何进行身份验证,然后将数据从SAP发送到门户。

我不清楚如何将其传递给方法。

我应如何将数据传递到URL进行身份验证。请提供帮助。

我面临的问题是lo_http_client-> receive()返回

http_communication_failure = 1。

* =============================================== ============================ **
数据lo_http_client类型参考if_http_client。

cl_http_client => create_by_url(
导出
url ='https://einv-apisandbox.nic.in/gstvital/api/auth '
导入
客户端= lo_http_client
例外情况
arguments_not_found = 1
plugin_not_active = 2
internal_error = 3
其他= 4)。

IF sy-subrc <> 0.
返回。
ENDIF。

lo_http_client-> authenticate(
用户名='SRA '
password ='********'
)。
DATA lv_payload TYPE字符串。
lv_payload ='{" data":{" UserName":" SRA"," 密码":" *******"," AppKey":" jCvEkVces + t9PpI ="," ForceRefreshAccessToken":false}}'。

* *将该有效负载转换为xstring。

数据lv_payload_x类型xstring。
调用功能'SCMS_STRING_TO_XSTRING'
导出
文本= lv_payload
导入
缓冲= l v_payload_x。


lo_http_client-> request-> set_method('POST')。
lo_http_client-> request-> set_content_type('application/json')。
lo_http_client-> request-> set_data(lv_payload_x)。 。
* *发送请求
lo_http_client->发送(
例外情况
http_communication_failure = 1
http_invalid_state = 2)。


* *接收响应
lo_http_client->接收(
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3)。
数据lv_response类型字符串 。

lv_response = lo_http_client-> response-> get_cdata()。

(22.9 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我必须调用url进行身份验证,发布并从api GST电子发票中获取数据。

分为两部分:标头+有效内容。(附有屏幕截图)

我如何进行身份验证,然后将数据从SAP发送到门户。

我不清楚如何将其传递给方法。

我应如何将数据传递到URL进行身份验证。请提供帮助。

我面临的问题是lo_http_client-> receive()返回

http_communication_failure = 1。

* =============================================== ============================ **
数据lo_http_client类型参考if_http_client。

cl_http_client => create_by_url(
导出
url ='https://einv-apisandbox.nic.in/gstvital/api/auth '
导入
客户端= lo_http_client
例外情况
arguments_not_found = 1
plugin_not_active = 2
internal_error = 3
其他= 4)。

IF sy-subrc <> 0.
返回。
ENDIF。

lo_http_client-> authenticate(
用户名='SRA '
password ='********'
)。
DATA lv_payload TYPE字符串。
lv_payload ='{" data":{" UserName":" SRA"," 密码":" *******"," AppKey":" jCvEkVces + t9PpI ="," ForceRefreshAccessToken":false}}'。

* *将该有效负载转换为xstring。

数据lv_payload_x类型xstring。
调用功能'SCMS_STRING_TO_XSTRING'
导出
文本= lv_payload
导入
缓冲= l v_payload_x。


lo_http_client-> request-> set_method('POST')。
lo_http_client-> request-> set_content_type('application/json')。
lo_http_client-> request-> set_data(lv_payload_x)。 。
* *发送请求
lo_http_client->发送(
例外情况
http_communication_failure = 1
http_invalid_state = 2)。


* *接收响应
lo_http_client->接收(
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3)。
数据lv_response类型字符串 。

lv_response = lo_http_client-> response-> get_cdata()。

(22.9 kB)
付费偷看设置
发送
1条回答
打个大熊猫
1楼-- · 2020-08-22 23:07

hi Sourav Rai

这个问题解决了吗? 我也面临类似的问题

一周热门 更多>