点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好社区,
我们正在研究一个PoC,其中涉及SCP CF环境中的工作流服务与SCP CF(steampunk)中的ABAP环境连接。 我们遇到了由于XSRF令牌验证失败而无法完成服务任务的失败。 本质上,SCP CF Workflow服务无法调用/重定向到SCP CF ABAP OData v2服务并完成测试DELETE操作
这是场景:
- 内置了一个简单的OData v2服务。 它位于以下相对路径:/sap/opu/odata/sap/YSBTABLE; v = 0001。 服务端点是/SDTable,包含两个记录。 我们希望删除这些记录之一,以测试服务任务。 我们提供记录的关键。
- 在服务任务的目标位置,我们将ABAP环境的主机放置在SCP CF中:https://guid-removed.abap-web.us10.hana.ondemand.com/我们与Infra团队分开维护了沟通安排,如SAP帮助文档中所述。 为了允许SCP CF ABAP和SCP CF工作流相互集成。
- #2中的主机与#1中的端点串联在一起,指向有效的OData v2服务。
- 在服务任务的路径中,我们已将信息放在#1中:/sap/opu/odata/sap/YSBTABLE; v = 0001/SDTable($ {context.key})
- 在HTTP方法中,我们选择了DELETE
- 在XSRF令牌的路径中,我们放置了相对路径:/sap/opu/odata/sap/YSBTABLE; v = 0001。 在ABAP OData服务中,对此端点的HEAD请求会生成带有相应Fetch标头的XSRF令牌。
在构建和部署此业务情景时,我们在提供的Portal应用程序中启动工作流实例,并完成用户任务以按顺序执行服务任务。 当服务任务"完成"时,它将以错误状态返回,并带有响应文本XSRF令牌验证失败,并且以上#4中的记录不会被删除。
<已解决有关配置不正确的目标的问题,已修复配置。 无法从HEAD Request>
生成XSRF令牌Web IDE
工作流程
我们希望能帮助您理顺此配置。 如果您需要其他信息,请告诉我们! 预先谢谢你!
(35.0 kB)
要解决此问题,我们必须完成SCP CF ABAP环境的通信安排和通信场景的设置。 在创建通信方案和安排,发布它并在SCP CF ABAP中对其进行配置后,此问题自行解决。
可以在此处找到正确配置和完整性的步骤:
https://developers.sap.com/tutorials/abap-environment-business-service-provisioning.html#849af707-0005-4c45-aefe-cdf82c1a755b
https://developers.sap.com/tutorials/abap-environment-communication-arrangement .html
嗨,Tobias,
谢谢您的评论! 到目前为止,我无法在SCP CF ABAP环境中使用GET请求获得CSRF令牌。 如上图所示,只有对服务端点的HEAD Request会返回CSRF令牌。
我们已经在SCP CF ABAP中配置了主体传播,但是到目前为止,对于此PoC,我们已经使用通讯协议用户作为基本凭据的目标进行了身份验证。
当我们尝试从浏览器(而不是工作流程)尝试链接时,是的,我们确实获得了浏览器登录弹出窗口,因此这也可能与"通讯安排用户"相关。 我们将继续对此进行深入研究。
嗨,斯科特,
您能否检查使用GET方法时在浏览器中获取CSRF令牌是否有效? 另外,我会尝试使用curl之类的命令行工具进行调用,因为在您的浏览器中,现有的Cookie可能会使您基于这些cookie登录,而不是基于目的地中的凭据登录。
那么您是否已在Steampunk系统上的某些日志中检查了CP工作流的CSRF调用是否已成功认证?
(我不知道在Steampunk系统中是否可以这样做)
有时,如果登录失败,则会返回登录表单页面,"好像有一个用户可以 填写"。 在这种情况下,没有CSRF令牌的HTTP 200页面返回到CP工作流程,您将看到错误消息。
此致
Tobias
一周热门 更多>