最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

T100 WebService与Client端开发

泛微OA教程 bron1984 2163浏览

T100 WebService Server端开发:

开发流程:1.服务注册;2.服务程序签出;3.服务程序撰写;4.服务程序上传

1.azzi700注册服务规格编号,然后签出就可以写程序了:

图形用户界面, 文本, 应用程序

描述已自动生成

2.宣告JSON组成Requent和Response的内容:

#add-point:自定義客戶專用模組變數(Module Variable)

PRIVATE TYPE type_detail RECORD #传入单身数组

isagseq LIKE isag_t.isagseq, #项次

isag001 LIKE isag_t.isag001, #来源类型

isag002 LIKE isag_t.isag002, #来源单号

isag003 LIKE isag_t.isag003, #来源项次

isag009 LIKE isag_t.isag009, #料号

isag004 LIKE isag_t.isag004, #发票数量

isag005 LIKE isag_t.isag005, #发票单位

isag101 LIKE isag_t.isag101, #原币单价

isag105 LIKE isag_t.isag105 #原币税后金额

END RECORD

PRIVATE TYPE type_master RECORD #传入单头数组

isaf003 LIKE isaf_t.isaf003, #账款客户

isafdocdt LIKE isaf_t.isafdocdt, #单据日期

isaf018 LIKE isaf_t.isaf018, #税率

isafud001 LIKE isaf_t.isafud001, #EDB对账单号

items DYNAMIC ARRAY OF type_detail

END RECORD

PRIVATE TYPE type_return RECORD #返回数组

code LIKE type_t.chr20,

sqlcode LIKE type_t.chr20,

description LIKE type_t.chr1000,

orderNo LIKE type_t.chr50 #EDB销退单单号

END RECORD

 

 

3.从json中读取request数据:

#取回 datakey 資料內容

LET g_ent = cl_aws_json_getValue("datakey","EntId")

LET g_company = cl_aws_json_getValue("datakey","CompanyId")

LET l_json_obj = cl_aws_json_getParam()



#將data 轉入l_master record

CALL l_json_obj.toFGL(l_master)



IF l_json_obj IS NULL THEN

LET g_status.code = "wss-00216" #讀入json 發生問題

RETURN

END IF



#检查传入datakey是否为空

IF cl_null(g_ent) THEN

LET g_status.code = "wss-00138"

LET l_str = cl_replace_err_msg(cl_getmsg('wss-00138',g_dlang),'EntId')

LET g_status.description = l_str

RETURN

END IF

IF cl_null(g_company) THEN

LET g_status.code = "wss-00138"

LET l_str = cl_replace_err_msg(cl_getmsg('wss-00138',g_dlang),'CompanyId')

LET g_status.description = l_str

RETURN

END IF

 

 

4.返回response的json:

#返回值

CALL cl_aws_json_addParam(util.JSONObject.fromFGL(l_return))

在Server端的开发过程中,有几个常用的方法:

cl_aws_json_getValue()       取得字段值
cl_aws_json_getParam()     取得整个param段
l_json_obj.toFGL()        将param段的数据转换读取到预定义变量
cl_aws_json_addParam(util.JSONObject.fromFGL(l_return))     将返回变量自动加入response的json中

T100 WebService Client端开发:

宣告JSON组成Request所必须的内容,参考下列的type_service 的RECORD,先将这些必要宣告出来以利后面调用:

 

type type_service RECODE

prod STRING,

name STRING,

ip STRING

END RECODE

举例说明:
程序开始先宣告会调用到模组变数,如type_service,接着对这些变数进行初始化,像是预设的参数内容以及预设的服务产品、服务名称、ip:

文本

描述已自动生成

宣告完变数后:

  1. 初始化JSON内容,参考cl_rest_json_init();
  2. 呼叫addParam()以及addDatakey() function进行增加parameter、datakey的动作;
  3. 透过cl_rest_json_invokeSrv()将request传送出去并且取得执行状态码、回传內容以及错误信息,当状态码为0是代表执行成功;
  4. 使用cl_rest_json_getParam()取得parameter的內容并将其內容透过toFGL()这个function 來转成RECORD形式以利我们取得所需的资讯,反之可从l_errmsg取得错误讯息。

图形用户界面, 文本, 应用程序

描述已自动生成

T100 WebService Client 端开发(中台)

宣告应用服务要传给对方产品的主体资料,与接收回传的主体资料RECORD:

文本, 表格

中度可信度描述已自动生成

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ZhangYongWei1955/article/details/83823320

转载请注明:赫非域 » T100 WebService与Client端开发