Создание взаимодействий в yMarketing со службой OData CUAN_IMPORT_SRV - PullRequest
0 голосов
/ 23 мая 2018

Я работаю над приложением SAPUI5 (в Web IDE), которое создает взаимодействие в Hybris Marketing.Поэтому я использую сервис OData CUAN_IMPORT_SRV.Я уже пробовал это с простым запросом почтальона, и он работал нормально.Взаимодействие было создано в Hybris Marketing.

Пример тела JSON для загрузки выглядит следующим образом (ориентировано на Call OData Service ):

{
   "Id" : "",
   "Timestamp" : "/Date(1506014140593)/",
   "UserName" : "UNAME",
   "SourceSystemId" : "ANY",
   "Interactions" : [
      {
         "Key" : "",
         "CampaignId" : "",
         "CommunicationMedium" : "BUSINESS_DOCUMENT",
         "ContactId" : "005056966DBE1EE4B299CD12B99F60C4",
         "ContactIdOrigin" : "SAP_HYBRIS_MKT_IC",
         "ContentData" : "First Event",
         "ContentTitle" : "",
         "InitiativeId" : "100001622",
         "InitiativeVersion" : 0,
         "InteractionType" : "CRM_ACTIVITY",
         "IsAnonymous" : false,
         "MarketingOrchestrationId" : 0,
         "Quantifier" : 1,
         "Timestamp" : "/Date(1506014140283)/"
      }
   ]
}

Не должно бытьобсуждали, имеют ли данные смысл или нет.Сейчас это просто контрольный пример.В моем приложении 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"                                     
        });
    }
);

}

Когда я пробую приложение, я получаю следующую ошибку:

error

При объявлении модели OData я использую правильную систему UNAME и ПАРОЛЬ для чтения и записи.Что я делаю не так?

Любые намеки приветствуются!

1 Ответ

0 голосов
/ 25 мая 2018

Щелкните значок Chrome> Параметры> Добавить это за целевым путем:

- отключить-web-security --user-data-dir

...