如何使用 proc http 和 http_tokenauth 在后台调用 SAS STP

2024-01-09

我正在尝试使用选项后台通过 proc http 从 SAS 调用存储进程 (STP),以确保我的主进程不会等待 STP 完成。我确实使用以下代码:

filename resp "<path to response file>";
%let url = https://<ServerName>:<port>/SASStoredProcess/do;
%let question_mark = ?;

proc http
url="%str(&url.)&question_mark.%nrstr(_action=background&_program=<path to STP>&num1=11&num2=22)"
out=resp
http_tokenauth;
HEADERS "Content-Type"="application/x-www-form-urlencoded" "Accept"="application/json";
quit;

不幸的是,在我的响应文件中,我总是收到 SAS 登录页面。

将用户名/密码作为我的 URL 的一部分发送确实有效,但出于安全原因不需要这样做。因此我需要使用 http_tokenauth,它适用于非后台 STP。 另外,当我将 URL 粘贴到浏览器时,它确实有效。

我如何确保它也可以使用 proc http 和 http_tokenauth 工作?

附加信息:

Setup:

我确实有一个 STP,流程引擎通过 REST 调用它,并期望立即得到包含 ID 的答案。(主 STP) 然后,该主 STP 需要调用包含进程的子 STP,该进程大约需要 10 分钟。需要一小时才能完成。因此,我不希望主 STP 等待子 STP 完成。 因此,应在后台调用子 STP。


令牌身份验证仅在使用“do1”而不是“做”。 参考文档:

此外,我使用查询来传递参数,这使得它更加清晰。

所以现在这确实有效:

%let url = https://<ServerName>:<port>/SASStoredProcess/do1;

proc http 
  url="%str(&url.)"
  query=("_action"             = "background"
         "_program"            = "<path to STP>"
         "num1"                = "1"
         "num2"                = "2"
         )
  ct="application/x-www-form-urlencoded"
  http_tokenauth
  out=resp;
quit;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 proc http 和 http_tokenauth 在后台调用 SAS STP 的相关文章

  • WPF 无法从 url 检索 WebP 图像?

    我无法从网址检索图像 以前 在设置 HttpClient 标头之前 我根本无法连接到该站点 我可以从其他来源检索图像 但不能从这个特定来源检索图像 检索图像的代码 var img new BitmapImage img BeginInit
  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • 如何在 REST WCF 服务中接受任意 JSON 对象?

    我想实现这样的服务方法 OperationContract WebInvoke RequestFormat WebMessageFormat Json ResponseFormat WebMessageFormat Json public
  • I/O 问题没有找到类 org.json.JSONObject 的序列化器,也没有发现创建 BeanSerializer 的属性

    不确定发生了什么 完整的错误是 Problem with i o No serializer found for class org json JSONObject and no properties discovered to creat
  • XML-RPC 与 REST

    我打算在这里构建一个小型服务器 并想为其创建一个 API 我正在决定什么是更好的并且已经排除了SOAP因为在我看来那件事是一团糟 我只剩下REST and XML RPC 我真的很喜欢XML RPC 它实现起来非常简单 并且足够常规 所有客
  • 正则表达式:如何表达没有下划线的 \w

    有没有简洁的表达方式 w but without 即 w 中包含的所有字符 除了 我问这个是因为我正在寻找最简洁的方式来表达域名验证 域名可以包含小写和大写字母 数字 句号和破折号 但不能包含下划线 w 包括以上所有内容 加上下划线 那么
  • PHP preg_replace - www 或 http://

    真正坚持看似简单的事情 我有一个聊天框 喊叫框 其中可能输入任意 URL 我想找到每个单独的 URL 用空格分隔 并将其包装在标签中 例子 Harry you re a http google com http google com wiz
  • ZF2 - 从路线生成 URL

    我无法弄清楚在 zend 2 中从我想要的任何地方生成 Url 我得到了动作和控制器 所以我尝试这个 this gt url myControllerName array action gt myActionName 但这返回一个对象 我只
  • 如何使用继承来建模 RESTful API?

    我有一个需要通过 RESTful API 公开的对象层次结构 但我不确定我的 URL 应该如何构建以及它们应该返回什么 我找不到任何最佳实践 假设我有从动物继承的狗和猫 我需要对狗和猫进行CRUD操作 我还希望能够对一般动物进行手术 我的第
  • CakePHP 3 API 的 POST 请求不起作用

    我正在使用 CakePHP 3 x 文档开发 API 为了开发这个 API 我使用了他们的官方文档 https book cakephp org 3 0 en development rest html https book cakephp
  • 对不存在的资源进行 GET 的 REST 标准

    资源 user 12345 不存在 假设消费者随机尝试不同的 id 没有授权 任何用户都可以查看任何用户 从更广泛的意义上来说 我的问题是 如果对不存在的资源执行 GET 操作 您应该返回什么 我应该为不存在的 id 返回空用户 还是应该返
  • 如何向我的 Spring MVC REST 服务添加错误?

    如果用户没有输入我正在编码的两个名称 我如何更改 更新来自 Spring MVC 的以下 REST 调用以返回错误 未找到 RequestMapping value name method RequestMethod GET Respons
  • 在 Spring 中为 @Pathvariable 添加类级别验证

    在发布这个问题之前 我已经做了很多研究并尝试了很多可用的解决方案 这是我陷入的棘手情况 我有一个 Spring 控制器 它有多个请求映射 它们都有 PathVariables 控制器如下所示 Controller EnableWebMvc
  • Yammer API 限制

    Yammer Rest api 文档表示 每个应用程序每个用户在 10 秒内最多可以发出 10 个请求 问题 什么是user这里 是为当前经过身份验证的 yammer 用户发出请求的 IP 地址还是承载令牌 如果我们所有的用户都使用相同的外
  • Amcharts 图表 - 图表列到自定义 URL 的超链接以在新选项卡/窗口中打开

    我正在尝试制作一个 amcharts 图表 其中的列链接到自定义网址 并希望网址在新选项卡 窗口中打开 我尝试将此代码添加到图形对象中 但它不起作用 它在同一选项卡 窗口中打开链接 listeners event clickItem met
  • sas 宏 & 符号

    let test one let one two put test put test put test put test put test 出色地 我完全被这些 符号打败了 我不明白为什么他们在宏变量之前需要这么多 符号 有什么技巧可以掌握
  • Web 服务应该是事务性的吗?

    我正在研究为应用程序编写网络服务 在此应用程序中 我们在事务中执行所有操作 因为 工作单元 通常不是单个实体 而是跨越多个表的多个实体 在某些情况下 我们想要 全有或全无 而交易是非常有意义的 然而 我不太确定如何在网络服务中执行此操作 也
  • 使用嵌套的 hashmap 参数发送 volley 请求

    我正在使用 android volley 框架向我的服务器发送 jsonobject 请求 get 请求工作正常 现在我想发送一个带有请求参数的 post 请求 该请求参数是嵌套的 hashmap 我重写 getparams 方法 但它期望
  • 注册期间现有电子邮件的 422 或 409 状态代码

    我正在构建 RESTful API 遇到了一种情况 在用户注册期间 如果电子邮件已存在 则在422 and 409哪个http响应代码有意义 我浏览过类似的one https stackoverflow com questions 9269
  • 扩展 RegExp 以获取文件扩展名

    我知道 已经有很多基于 RegExp 的解决方案 但是我找不到适合我需求的解决方案 我有以下函数来获取 URL 的各个部分 但我还需要文件扩展名 var getPathParts function url var m url match w

随机推荐