点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我已经在追踪帐户中建立了一个示例SCP工作流程。 我想从在本地S4系统中运行的ABAP程序触发该工作流程。 我在SAP API滚刀中浏览了工作流API,并在那里获取了与ABAP有关的代码段。 我想首先测试获取xCSRF令牌的代码,因为这是触发工作流的第一步。 我的最终代码如下所示
数据:lo_http_client类型参考if_http_client。 DATA:响应TYPE字符串。 "通过URL创建HTTP客户端 " API沙箱的API端点 呼叫方法cl_http_client => create_by_url 出口 url ='https://bpmworkflowruntimewfs-p1942918606trial.hanatrial.ondemand.com/workflow-service/rest/v1/xsrf-token' 输入 客户端= lo_http_client 例外情况 arguments_not_found = 1 plugin_not_active = 2 internal_error = 3 其他= 4。 如果sy-subrc <> 0。 "错误处理 万一。 "设置请求方法 lo_http_client-> request-> set_method('GET')。 "添加标题 lo_http_client-> request-> set_header_field(name ='X-CSRF-Token'value ='Fetch')。 lo_http_client-> request-> set_header_field(name ='Content-Type'value ='application/json')。 lo_http_client-> request-> set_header_field(name ='Accept'value ='application/json')。 lo_http_client-> request-> set_header_field(name ='Authorization'value ='Basic UDE5NDI5MTg2MDY6U2Fua2FyQGhhbmE =')。 呼叫方法lo_http_client->发送 例外情况 http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 http_invalid_timeout = 4 其他= 5。 如果sy-subrc = 0。 调用方法lo_http_client-> receive 例外情况 http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 其他= 5。 万一。 如果sy-subrc <> 0。 "错误处理 万一。 响应= lo_http_client->响应-> get_cdata()。 WRITE:"响应:",响应。
代码返回sy-subrc 1,我们在其中调用http客户端的接收方法。 在响应中,我可以看到以下错误
500 SSL对等证书不受信任 与bpmworkflowruntimewfs-p1942918606trial.hanatrial.ondemand.com的SSL握手:443失败:SSSLERR_PEER_CERT_UNTRUSTED(-102) 对等方的X.509证书(链)不受信任 SapSSLSessionStartNB()== SSSLERR_PEER_CERT_UNTRUSTED
在可以从ABAP调用API之前,是否需要执行任何BASIS活动(如安装已认证的活动等)?
我在STRUST中安装了证书,然后重新启动了SMICM。 现在我遇到错误了
404连接被拒绝
连接到 bpmworkflowruntimewfs-p1942918606trial.hanatrial.ondemand.com :80失败:NIECONN_REFUSED(- 10)
您好Sankara,
您需要导入为 hanatrial.ondemand.com 签署了证书的CA。 您的ABAP实例未执行服务器期望的SSL握手-因此您被拒绝连接。
您需要先将CA添加到ABAP的数据库遵循此过程:
CN = DigiCert SHA2安全服务器CA O = DigiCert Inc C =美国
CN = DigiCert全球根CA OU = www.digicert.com O = DigiCert Inc C =美国 >
一旦数据库中具有上述证书,就可以将以下通配符证书导入到匿名客户端PSE中,并将其添加到访问控制列表中。
CN = *。 hanatrial.ondemand.com OU = SAP Cloud Managed Services O = SAP SE L = Walldorf C = DE
检查注释510007 以获得更多详细信息。
致谢,
伊万
打开驾驶舱,然后单击浏览器上的锁定图标。 如果在Windows上,则应该可以保存证书。 如果您使用的是Linux,则可以使用openssl,如下所示:
列出了链中的每个证书。 索引为0(零)的是通配符证书,应将其添加到ACL中。 索引1和2是中间证书和根证书(应该在数据库中导入的证书)
最好的问候,
伊万
一周热门 更多>