在SAP ABAP中使用休息后服务时出错。

2020-08-24 10:18发布

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

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


CONCATENATE


'{"电话簿名称":" ABCDE","数字":" + 919999999999,+ 919999999998"}'''


INTO WF_STRING。

清除:WF_PROXY, WF_PORT。

数据:PROXY_HOST类型字符串,
方案类型I,
服务类型字符串。

DATA LV_URL类型字符串。

LV_URL =' http://kpi.knowlarity.com/Basic/v1/account/联系人/电话簿'。

呼叫方法CL_HTTP_CLIENT => CREATE_BY_URL
导出
URL = LV_URL"' https://kpi.knowlarity.com/Basic/v1/account/contacts/phonebook '
导入
客户端= HTTP_CLIENT
例外情况
ARGUMENT_NOT_FOUND = 1
PLUGIN_NOT_ACTIVE = 2
INTERNAL_ERROR = 3
其他=4。
如果SY-SUBRC NE0。
消息ID SY-MSGID 类型SY-MSGTY编号SY-MSGNO
,带有SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
*放入cv_error_msg。
* cv_error_occurred ='X'。
返回。
ENDIF。

HTTP_CLIENT-> PROPERTYTYPE_LOGON_POPUP = HTTP_CLIENT-> CO_DISABLED。


**代理服务器身份验证
*呼叫方法http_client-> authenticate
*导出
* proxy_authentication ='X'
*用户名= wf_user
*密码= wf_password。

呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
导出
NAME ='〜request_method'
VALUE ='POST'。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
导出
> NAME ='x-api-key'
VALUE ='XXXXXXXXXXXXXXXXXX'。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
EXPORTING
NAME ='内容类型 '
VALUE ='application/json'。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
EXPORTING
名称='授权'
VALUE ='XXXXXXXXXXXXX' 。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_CDATA
导出
DATA = WF_STRING
偏移= 0
长度=长度。

呼叫方法 D HTTP_CLIENT-> SEND
异常
HTTP_COMMUNICATION_FAILURE = 1
HTTP_INVALID_STATE =2。

呼叫方法HTTP_CLIENT-> RECEIVE
EXCEPTIONS
HTTP_COMMUNICATION_FAILURE = 1
HTTP_INVALID_STATE
HTTP_PROCESSING_FAILED =3。

如果SY-SUBRC <>0。
消息E000(OO)带有"处理失败!"。
ENDIF。

CLEAR WF_STRING1。

WF_STRING1 = HTTP_CLIENT->响应-> GET_CDATA()。

清除WF_STRING1。

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

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


CONCATENATE


'{"电话簿名称":" ABCDE","数字":" + 919999999999,+ 919999999998"}'''


INTO WF_STRING。

清除:WF_PROXY, WF_PORT。

数据:PROXY_HOST类型字符串,
方案类型I,
服务类型字符串。

DATA LV_URL类型字符串。

LV_URL =' http://kpi.knowlarity.com/Basic/v1/account/联系人/电话簿'。

呼叫方法CL_HTTP_CLIENT => CREATE_BY_URL
导出
URL = LV_URL"' https://kpi.knowlarity.com/Basic/v1/account/contacts/phonebook '
导入
客户端= HTTP_CLIENT
例外情况
ARGUMENT_NOT_FOUND = 1
PLUGIN_NOT_ACTIVE = 2
INTERNAL_ERROR = 3
其他=4。
如果SY-SUBRC NE0。
消息ID SY-MSGID 类型SY-MSGTY编号SY-MSGNO
,带有SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
*放入cv_error_msg。
* cv_error_occurred ='X'。
返回。
ENDIF。

HTTP_CLIENT-> PROPERTYTYPE_LOGON_POPUP = HTTP_CLIENT-> CO_DISABLED。


**代理服务器身份验证
*呼叫方法http_client-> authenticate
*导出
* proxy_authentication ='X'
*用户名= wf_user
*密码= wf_password。

呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
导出
NAME ='〜request_method'
VALUE ='POST'。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
导出
> NAME ='x-api-key'
VALUE ='XXXXXXXXXXXXXXXXXX'。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
EXPORTING
NAME ='内容类型 '
VALUE ='application/json'。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_HEADER_FIELD
EXPORTING
名称='授权'
VALUE ='XXXXXXXXXXXXX' 。


呼叫方法HTTP_CLIENT-> REQUEST-> SET_CDATA
导出
DATA = WF_STRING
偏移= 0
长度=长度。

呼叫方法 D HTTP_CLIENT-> SEND
异常
HTTP_COMMUNICATION_FAILURE = 1
HTTP_INVALID_STATE =2。

呼叫方法HTTP_CLIENT-> RECEIVE
EXCEPTIONS
HTTP_COMMUNICATION_FAILURE = 1
HTTP_INVALID_STATE
HTTP_PROCESSING_FAILED =3。

如果SY-SUBRC <>0。
消息E000(OO)带有"处理失败!"。
ENDIF。

CLEAR WF_STRING1。

WF_STRING1 = HTTP_CLIENT->响应-> GET_CDATA()。

清除WF_STRING1。

付费偷看设置
发送
7条回答
暮风yp
1楼 · 2020-08-24 10:44.采纳回答

问题已解决。。基本人员尚未在SSL客户端SAP Cloud Platform中安装SSL证书。

无论如何都要感谢所有人的帮助。

空代码
2楼-- · 2020-08-24 10:41

仅在没有任何解释的情况下发布源代码就失败了并不是一个好习惯。

此外,您还必须提供有关所使用的环境(nw版本,s/4版本,apap云环境)的详细信息。

骆驼绵羊
3楼-- · 2020-08-24 10:41

安德烈·费舍尔对此表示抱歉。

我正在ECC 7.4 Ver。上执行以上代码

我遇到错误

"与 kpi.knowlarity.com :443失败:SSSLERR_SSL_CONNECT(-57 )#SAPCRYPTO:SSL_connect()失败## SapSSLSessionStart()== SSSLERR_SSL_CONNECT#SSL:SSL_connect()失败(536875072/0x20001040)#=>"收到致命的SSLv3握手失败警报m"。

me_for_i
4楼-- · 2020-08-24 10:27
< p>您好安德烈

我们已使用TCode STRUST在SSL中导入了SSL证书。 但是同样的问题仍然存在。

错误:与 kpi.knowlarity.com 的SSL握手:失败:SSSLERR_PEER_CERT_UNTRUSTED(- 102)#对等方的X.509证书(链)不受信任## SapSSLSessionStart()== SSSLERR_PEER_CERT_UNTRUSTED#SSL:SSL_connect()失败(536872221/0x2000051d)#=>"对ve失败

黑丝骑士
5楼-- · 2020-08-24 10:23

你好塔伦,

有了这些信息,现在更清楚了;-)。

问题不在您的代码中,而在您的SAP系统的SSL配置中。

查看以下帖子:

https://blogs.sap。 com/2019/05/23/use-lets-encrypt-certificate-in-strust /

SAP帮助

https://help.sap.com/查看器/75663bda66d845d5b586f9e1cbd22f61/1610%20000/zh-CN/963f989376ec43feb4231a69b023dc5e.html

并使用StackOverflow答案中所述的跟踪功能

https://stackoverflow.com/questions/55813840/发送与https://post-request-with-abap

最好的问候

安德烈(Andre)

小熊yu生菜
6楼-- · 2020-08-24 10:26

您好 Aurobindo Sarola

我们的系统中已安装CommonCryptoLib(SAPCRYPTOLIB)版本8.5.29。

jovirus
7楼-- · 2020-08-24 10:23

请检查在具有SECUDIR环境的系统中是否安装了最新的SAP Cryptographic Library。

一周热门 更多>