XS File API PUT无法通过XSJS代码运行

2020-08-16 15:53发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在尝试更改HANA Cloud DB(Neo-XSC)中的文件。

当我使用GET方法从文件中获取数据时,它正在工作-但是当我使用PUT方法时,其返回为" 403 Forbidden"

我做错了,什么都没做。

XSHTTPDEST文件->

 host =" XXXXXXXXtrial.hanatrial.ondemand.com";
 端口= 443;
 pathPrefix ="/img/sap/hana/xs/dt/base/file";
 proxyType = http;
 proxyHost ="代理";
 proxyPort = 8080;
 authType =基本;
 useSSL = true;
 超时= 0;
 sslAuth =匿名; 

请在下面找到代码段->

//XS File API的PUT方法
 函数setDict(xcsrfToken,dictBody){
 var dest = $ .net.http.readDestination(" {{dest_path}}"," {{dest_filename}}"));
 var client = new $ .net.http.Client();
 var req = new $ .net.http.Request($。net.http.PUT,"/img/{{file_path}}/{{file_name}}"));
 req.headers.set(" x-csrf-token",xcsrfToken);
 req.headers.set(" Content-Type",'text/plain');
 req.setBody(dictBody);
 client.request(req,dest);
 var response = client.getResponse();
 返回响应;
 }

//API逻辑
 var xcsrfToken = $ .session.getSecurityToken();
 var dictBody = $ .request.body.asString();
 var response = fLib.setDict(xcsrfToken,dictBody);
 $ .response.contentType ="文本/纯文本";
 $ .response.setBody(xcsrfToken);
 $ .response.setBody(JSON.stringify(response.headers));

 

但是我得到的答复是禁止的:

 {
     " 0":{
         " name":"〜response_line",
         "值":" HTTP/1.1 403禁止"
     },
     " 1":{
         " name":"〜server_protocol",
         "值":" HTTP/1.1"
     },
     " 2":{
         " name":"〜status_code",
         " value":" 403"
     },
     " 3":{
         " name":"〜status_reason",
         " value":"禁止"
 ....................................

 } 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在尝试更改HANA Cloud DB(Neo-XSC)中的文件。

当我使用GET方法从文件中获取数据时,它正在工作-但是当我使用PUT方法时,其返回为" 403 Forbidden"

我做错了,什么都没做。

XSHTTPDEST文件->

 host =" XXXXXXXXtrial.hanatrial.ondemand.com";
 端口= 443;
 pathPrefix ="/img/sap/hana/xs/dt/base/file";
 proxyType = http;
 proxyHost ="代理";
 proxyPort = 8080;
 authType =基本;
 useSSL = true;
 超时= 0;
 sslAuth =匿名; 

请在下面找到代码段->

//XS File API的PUT方法
 函数setDict(xcsrfToken,dictBody){
 var dest = $ .net.http.readDestination(" {{dest_path}}"," {{dest_filename}}"));
 var client = new $ .net.http.Client();
 var req = new $ .net.http.Request($。net.http.PUT,"/img/{{file_path}}/{{file_name}}"));
 req.headers.set(" x-csrf-token",xcsrfToken);
 req.headers.set(" Content-Type",'text/plain');
 req.setBody(dictBody);
 client.request(req,dest);
 var response = client.getResponse();
 返回响应;
 }

//API逻辑
 var xcsrfToken = $ .session.getSecurityToken();
 var dictBody = $ .request.body.asString();
 var response = fLib.setDict(xcsrfToken,dictBody);
 $ .response.contentType ="文本/纯文本";
 $ .response.setBody(xcsrfToken);
 $ .response.setBody(JSON.stringify(response.headers));

 

但是我得到的答复是禁止的:

 {
     " 0":{
         " name":"〜response_line",
         "值":" HTTP/1.1 403禁止"
     },
     " 1":{
         " name":"〜server_protocol",
         "值":" HTTP/1.1"
     },
     " 2":{
         " name":"〜status_code",
         " value":" 403"
     },
     " 3":{
         " name":"〜status_reason",
         " value":"禁止"
 ....................................

 } 
付费偷看设置
发送
4条回答
粗暴的香蕉
1楼-- · 2020-08-16 16:25

我认为您正处于试用阶段,proxyHost必须是" proxy-trial"而不是" proxy"。

Violet凡
2楼-- · 2020-08-16 16:21

您是否检查过

    < li>用户是否具有所需的HANA存储库特权?
  • CSRF令牌是有效令牌吗?
Nir深蓝
3楼-- · 2020-08-16 16:32

从POSTMAN出发,API正常运行。 此外,我正在使用以下代码进行身份验证。

 var xcsrfToken = $ .session.getSecurityToken(); 
打个大熊猫
4楼-- · 2020-08-16 16:34

我在问题中提到的相同错误。

一周热门 更多>