Board logo

标题: [PU9功能解说] 如何在经典功能中调用外部REST web服务? [打印本页]

作者: lynn.yu    时间: 2018-3-14 11:09     标题: [PU9功能解说] 如何在经典功能中调用外部REST web服务?

在本文中,我们会给出一个示例,让你了解如何在经典功能中调用外部/对外的REST web services。

在我们开始讲示例之前,用于这种情况的API名为ASYRRESTCLI,而所用的功能则是EXEC_REST _WS。

所以如果你在在线帮助网站搜索ASYRRESTCLI的话,你会看到以下内容:

[attach]4316[/attach]

请注意:这只是一个简单的示例(或许还有其他方法可以完成这个操作)。这个外部API调用将使用免费的JSON API http://fixer.io/(你可以通过访问他们的网站了解更多关于这个API的信息)。

这个例子的要求是:我们希望在采购订单记录中设置一个按钮来显示当前的汇率。

1.        打开功能: 管理→管理→Web服务→REST Web服务
2.        点击“新的REST Web服务”,创建一个新的REST web服务连接。
3.        如下所示,录入信息(关于每个字段中的信息,可以查看在线帮助)

[attach]4317[/attach]

4.        打开功能:开发→脚本字典→窗体
5.        选择窗体OPOH
6.        点击[按钮/菜单]页签。
7.        如下所示,新录入一行。

[attach]4318[/attach]

8.        点击“保存”,并“审核”。
9.        打开功能:参数设置→采购→录入交易→订单
10.        选择你的录入交易,并点击“审核”。
11.        打开功能:开发→脚本字典→脚本→脚本编辑器
12.        在[文件名称]字段录入SPEPOH
13.        录入以下代码。

[attach]4319[/attach]

$ACTION
Case ACTION
When "EXEBOUT"    : Gosub BOUTON
Endcase
Return
##############
$BOUTON
If BOUT="3"  ###### this is the code of our button in Window dictionary
  # Contains the result header and body
  Local Clbfile RESHEAD(0),RESBODY(0)
  Local Integer RETVAL
  # No additional parameter nor additional header value are given here (only the values given in ORDER definition are used)
  Local Char PCOD(100)(1..10),PVAL(100)(1..10),HCOD(100)(1..10),HVAL(100)(1..10)
   RETVAL=func ASYRRESTCLI.EXEC_REST_WS("ExchangeRate","GET","/latest",PCOD,PVAL,HCOD,HVAL,"{}", 0,"",RESHEAD, RESBODY)
  If RETVAL=200 : infbox(RESBODY) : Else infbox("somwthing Went wrong") : Endif
Endif
Return

14.        点击“保存”,并“编译”。
15.        现在,打开功能:采购→订单→订单
16.        选择一个现有的采购订单。
17.        点击你新创建的那个按钮。

[attach]4320[/attach]

18.        点击这个按钮,将生成以下内容。

[attach]4321[/attach]

总结:你可以使用和功能来执行一项对外的web服务调用。




欢迎光临 赛捷软件论坛 (http://sagesoft.cn/bbs/) Powered by Discuz! 7.2