前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SAP HANA系列】SAP HANA使用XS和HTTP创建proxy

【SAP HANA系列】SAP HANA使用XS和HTTP创建proxy

原创
作者头像
matinal
修改2020-11-12 14:17:18
5970
修改2020-11-12 14:17:18
举报
文章被收录于专栏:SAP TechnicalSAP TechnicalSAP Technical

正文部分

创建代理由3个HANA开发工件组成:

1、一个server.xshttpdest文件,用于定义我们要访问的服务器的详细信息

2、一个用于URL重写的.xsaccess文件

3、一个用于程序逻辑的proxy.xsjs脚本

第一步:创建server.xshttpdest文件,内容及解释如下:

​
description = “描述”; 
host = “服务器URL”; 
port = 80;
useProxy = false; 
useSSL = false; 
authType = none; 
timeout = -1;

​

第二步:创建.xsaccess文件内容如下:

​
{
     “exposed” : true, 
     “authentication” : {
        “method”: “Basic”
     },
     “rewrite_rules”: [{
         “source”: “renderMap”,
         “target”: “proxy.xsjs”
     }],
     “cache-control”: “no-cache no-store”
}

​

第三步:创建proxy.xsjs文件内如如下:

​
function proxy() {
    var destPackage = “路径”;
    var destName = “服务器”;
    
    // 建立HTTP连接
    var dest = $.net.http.readDestination(destPackage, destName);
    var client = new $.net.http.Client();
    // 发送POST请求
    var req = new $.web.WebRequest($.net.http.POST, “/path/to/resource”);
 
    // 将原始请求的内容设置为请求
    req.setBody($.request.body.asString());
 
    // 发送请求并获取响应
    client.request(req, dest);
    var response = client.getResponse();
    $.response.status = $.net.http.OK;
    // 返回响应
    $.response.contentType = “application/json”;
    $.response.setBody(response.body.asString());
}
try {
     proxy();
} catch (e) {
    // 将错误返回为JSON进行调试

     var errorResponse = {“error”: e.toString()};
     $.response.status = $.net.http.INTERNAL_SERVER_ERROR;
     $.response.contentType = “application/json”;
     $.response.setBody(JSON.stringify(errorResponse));

}

​

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文部分
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档