2016-12-14 120 views
0
var Array = require('node-array'); 
    var request = require("request"); 
username = "user24", 
password = "", 
     auth = "Basic " + new Buffer(username + ":" + password).toString("base64"); 
var options = { method: 'GET', 
url: "http://207.188.73.88:8000/sap/opu/odata/sap/ZTEE_SUGGEST_SRV/ZteeSuggestSet?$filter=Number eq 5 and Date eq datetime'2014-03-11T00%3A00%3A00'&$format=json", 
headers: 
{ 

我正在获取xcsrf令牌这里CSRF令牌验证在后请求失败,同时呼吁SAP OData服务

'x-csrf-token': 'fetch', 
    'content-type': 'application/json', 
    authorization: auth } }; 

     request(options, function (error, response, body) { 
      if (error) throw new Error(error); 
    // console.log(response.headers['x-csrf-token']); 
    var token="'"; 
     token+=response.headers['x-csrf-token']; 
     token+="'"; 
     //console.log(token); 
     var options = { method: 'POST', 
    url: 'http://207.188.73.88:8000/sap/opu/odata/sap/ZTEE_TIME_SRV/ZTEERESERVESet', 

和令牌这里设置CSRF,但它给我的错误,需要SCRF令牌或无效

headers: 
    { 
authorization: auth, 
'x-csrf-token': token, 
'content-type': 'application/json' }, 
body: 
{ Time: 'time\'PT11H00M00S\'', 
Date: 'datetime\'2014-03-11T00%3A00%3A00\'', 
Location: 'AAJ', 
Number: 3 }, 
json: true }; 

    request(options, function (error, response, body) { 
     if (error) throw new Error(error); 

// console.log(body); 这表明令牌rrequired,但我已经设置在报头

    console.log(response.headers['x-csrf-token']); 
      }); 




     }); 
+0

您是否找到了解决方案?我陷入了同样的问题 – Mikel

回答

1

我曾面临类似的情况与SAP WEBIDE工作时。

我已经禁用令牌请求,并且能够与Odata服务建立连接。我在我的component.js文件中做了这样的代码片段。

var oModel = new sap.ui.model.odata.ODataModel(this.getMetadata().getConfig().serviceUrl); 
oModel.disableHeadRequestForToken = true; 

的serviceURL包含的URL OData服务。 您可以尝试禁用CSRF令牌请求并进行检查。

相关问题