返回列表 发帖

[PU9功能解说] 如何在经典功能中调用外部REST web服务?

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

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

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



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

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

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



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



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



$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.        点击你新创建的那个按钮。



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



总结:你可以使用和功能来执行一项对外的web服务调用。
附件: 您需要登录才可以下载或查看附件。没有帐号?申请用户

返回列表