zoukankan      html  css  js  c++  java
  • 【HANA系列】SAP HANA使用XS和HTTP创建proxy

    公众号:matinal
    本文作者:matinal
     

    前言部分

    大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

    正文部分

    创建代理由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));
    
    }
    
    ​
  • 相关阅读:
    [ARC101C] Ribbons on Tree
    NOIP2020 模拟赛 B 组 Day6
    #10471. 「2020-10-02 提高模拟赛」灌溉 (water)
    #10470. 「2020-10-02 提高模拟赛」流水线 (line)
    一类巧妙利用利用失配树的序列DP
    学军中学csp-noip2020模拟5
    信号与槽-高级应用
    PyQt5中的布局管理-QSplitter
    PyQt5中的布局管理-嵌套布局
    信号与槽-入门应用
  • 原文地址:https://www.cnblogs.com/SAPmatinal/p/11184322.html
Copyright © 2011-2022 走看看