在yMarketing中与OData服务CUAN_IMPORT_SRV创建交互

在yMarketing中与OData服务CUAN_IMPORT_SRV创建交互,odata,sapui5,crud,same-origin-policy,hybris,Odata,Sapui5,Crud,Same Origin Policy,Hybris,我在一个SAPUI5应用程序(在Web IDE中)上工作,它在Hybris Marketing中创建了一个交互。因此,我使用OData服务CUAN_IMPORT_SRV。我已经用一个简单的邮递员请求试过了,效果很好。这种互动是在Hybris Marketing中创建的 上传的示例JSON正文如下所示(以以下方式为导向): 如果数据有意义与否,则不应讨论。现在只是一个测试用例。在我的SAPUI5应用程序中,我开始编写一个简单的函数来处理数据上传。我的方向是 这是我的职责: onPressScan:

我在一个SAPUI5应用程序(在Web IDE中)上工作,它在Hybris Marketing中创建了一个交互。因此,我使用OData服务CUAN_IMPORT_SRV。我已经用一个简单的邮递员请求试过了,效果很好。这种互动是在Hybris Marketing中创建的

上传的示例JSON正文如下所示(以以下方式为导向):

如果数据有意义与否,则不应讨论。现在只是一个测试用例。在我的SAPUI5应用程序中,我开始编写一个简单的函数来处理数据上传。我的方向是

这是我的职责:

onPressScan: function() {
sap.ndc.BarcodeScanner.scan(

    function(mResult) {

        if (!mResult.cancelled) {
            // begin POST Interaction with OData
            var oModel = new sap.ui.model.odata.v2.ODataModel("https://host:port/sap/opu/odata/sap/CUAN_IMPORT_SRV/", true, "UNAME", "PASSWORD");
            oModel.setHeaders({
                "X-CSRF-Token" : "Fetch"
            });

            var jsonString = '{ "Id" : "", "Timestamp" : "/Date(1506014140591)/",  "UserName" : "UNAME", "SourceSystemId" : "ANY", "Interactions" : [ ' +
            '{ "Key" : "" , "CampaignId" : "" , "CommunicationMedium" : "BUSINESS_DOCUMENT" , "ContactId" : "005056966DBE1EE4B299CD12B99F60D4" ' +
            ', "ContactIdOrigin" : "SAP_HYBRIS_MKT_IC" , "ContentData" : "Try from Scanner App", "ContentTitle" : "Scan", "InitiativeId" : "100001622" ' +
            ', "InitiativeVersion" : 0, "InteractionType" : "CRM_ACTIVITY", "IsAnonymous" : false, "MarketingOrchestrationId" : 0, "Quantifier" : 1, "Timestamp" : "/Date(1506014140281)/" }]}';

            var json = JSON.parse(jsonString);

            // get X-CSRF-Token for POST request
            oModel.read("/$metadata", null, null, true, function(oData, oResponse) {

            var xcsrfToken = oResponse.headers["x-csrf-token"];

            oModel.setHeaders({
                "X-CSRF-Token" : xcsrfToken,
                "Content-Type" : "application/json"
            });

            // POST interaction to yMarketing
            oModel.create("/ImportHeaders", json, null, function() {
                alert("Create successful");
            }, function(){
                alert("Create failed");
            });
        }, function() {
            alert("Read failed");
        });
    }}, function(Error) {
        sap.m.MessageBox.error("Scanning failed due to following error: " + Error, {
            title: "Error while scanning"                                     
        });
    }
);
}

尝试该应用程序时,出现以下错误:

在声明OData模型时,我使用正确的系统UNAME和密码进行读写。我做错了什么


任何提示都非常感谢

单击Chrome图标>选项>将其添加到目标路径后面:

--禁用web安全--用户数据目录

我刚刚添加了“-disable web security”,以及“-user data dir”,它起作用了!
onPressScan: function() {
sap.ndc.BarcodeScanner.scan(

    function(mResult) {

        if (!mResult.cancelled) {
            // begin POST Interaction with OData
            var oModel = new sap.ui.model.odata.v2.ODataModel("https://host:port/sap/opu/odata/sap/CUAN_IMPORT_SRV/", true, "UNAME", "PASSWORD");
            oModel.setHeaders({
                "X-CSRF-Token" : "Fetch"
            });

            var jsonString = '{ "Id" : "", "Timestamp" : "/Date(1506014140591)/",  "UserName" : "UNAME", "SourceSystemId" : "ANY", "Interactions" : [ ' +
            '{ "Key" : "" , "CampaignId" : "" , "CommunicationMedium" : "BUSINESS_DOCUMENT" , "ContactId" : "005056966DBE1EE4B299CD12B99F60D4" ' +
            ', "ContactIdOrigin" : "SAP_HYBRIS_MKT_IC" , "ContentData" : "Try from Scanner App", "ContentTitle" : "Scan", "InitiativeId" : "100001622" ' +
            ', "InitiativeVersion" : 0, "InteractionType" : "CRM_ACTIVITY", "IsAnonymous" : false, "MarketingOrchestrationId" : 0, "Quantifier" : 1, "Timestamp" : "/Date(1506014140281)/" }]}';

            var json = JSON.parse(jsonString);

            // get X-CSRF-Token for POST request
            oModel.read("/$metadata", null, null, true, function(oData, oResponse) {

            var xcsrfToken = oResponse.headers["x-csrf-token"];

            oModel.setHeaders({
                "X-CSRF-Token" : xcsrfToken,
                "Content-Type" : "application/json"
            });

            // POST interaction to yMarketing
            oModel.create("/ImportHeaders", json, null, function() {
                alert("Create successful");
            }, function(){
                alert("Create failed");
            });
        }, function() {
            alert("Read failed");
        });
    }}, function(Error) {
        sap.m.MessageBox.error("Scanning failed due to following error: " + Error, {
            title: "Error while scanning"                                     
        });
    }
);