点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
我的Fiori收件箱与OData和Workflow有关,还有另一个问题。 我开发了一个OData服务,该服务可以将文档上传到Archivelink存储库。 当我将UserTask用作UI5应用程序时,它的工作原理非常好,甚至可以上传文档。 但是,当我尝试将它们上传到我的Fiori收件箱(作为UI5-Application User Task)时,它不起作用。
当然,我阅读了这篇文章 https://blogs.sap.com/2016/03/29/using-the-up-uploadcollection-to-uploaddownload-archivelink-files-via-gateway/和用于上传的SDK工具包 收集有关我的实施的帮助。
我收到HTTP错误403,这可能导致X-CSRF-Token出现问题。 我不明白为什么会出现问题,因为在UI5 App中它运行完美,快速。
这是我的上传收藏夹视图中的代码:
uploadUrl ="/img/html5apps/decideorder/sap/opu/odata/sap/ZSKOE_PO_WF_ODATA_SRV/PurchaseOrderSet('4500000157')/ToDokument" beforeUploadStarts =" onBeforeUploadStarts" change =" onChange" uploadComplete =" onUploadComplete">
出于测试原因,我为标识符设置了一个固定值。
这是我在App.controller.js中的事件:
onBeforeUploadStarts:函数(oEvent){ var oCustomerHeaderSlug = new sap.m.UploadCollectionParameter({ 名称:"子弹", 值:oEvent.getParameter(" fileName") }); oEvent.getParameters()。addHeaderParameter(oCustomerHeaderSlug); },
onUploadComplete:函数(oEvent){ var sUploadedFile = oEvent.getParameter(" files")[0] .fileName; var location = oEvent.getParameter(" files")[0] .headers.location; var oCollection = oEvent.getSource(); var collectionPath ="/img/PurchaseOrderSet('4500000157')/ToDokument"; var oTemplate = this.byId(" item0")。clone(); oCollection.bindAggregation(" items",{ 路径:collectionPath, 模板:oTemplate }); },
onChange:函数(oEvent){ var oFileUploader = oEvent.getSource(); oFileUploader.removeAllHeaderParameters(); var oModel = this.getView()。getModel(); var oToken = oModel.getSecurityToken(); //x-csrf-token: oFileUploader.addHeaderParameter(new sap.m.UploadCollectionParameter({ 名称:" x-csrf-token", 值:oToken }));
正如我之前提到的,当通过将UI作为Web应用程序执行在UI中上载文件时,它工作得很好(当然,我必须通过删除"/img/html5apps/decideorder"部分来更改集合中的上载URL以进行测试。
在我的工作流收件箱中,我收到403作为错误消息,并且S4 Hana中的Gateway Error Log(网关错误日志)为空。
您有什么想法吗? 我是错误地传递了令牌还是必须将其放在另一个地方?
先谢谢您
此致
斯蒂芬
您好,Stephan,
Http 403被禁止,这意味着尝试访问OData API的用户不是正确的用户。 在UserTask UI5应用程序中,您是否提及过取决于用户OData API的标头参数,用户名,密码或OAuth 2.0 0r基本身份验证?
如果您说它适用于普通的UI5应用程序,那么您使用哪个用户登录该应用程序? 我的"收件箱"中是否也登录了同一用户?
你好Archana,
感谢您的答复。 是的,我对SAP UI5普通应用程序和"我的收件箱"使用相同的S用户。 OData API通过Cloud Connector通过基本身份验证连接到我们的Prem-S4-HANA系统。 这种连接也永远不会有问题。
此致
Stephan
Hello Archana,
问题已解决。 我在manifest.json中激活了Batch(真的不知道为什么停用了它:)),现在可以正常工作了。
问题是,它从Inbox应用程序中的错误模型调用了令牌。
无论如何,谢谢您的帮助!
Stephan
一周热门 更多>