T100 WebService与Client端开发
T100 WebService Server端开发:
开发流程:1.服务注册;2.服务程序签出;3.服务程序撰写;4.服务程序上传
1.azzi700注册服务规格编号,然后签出就可以写程序了:
2.宣告JSON组成Requent和Response的内容:
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:
宣告完变数后:
- 初始化JSON内容,参考cl_rest_json_init();
- 呼叫addParam()以及addDatakey() function进行增加parameter、datakey的动作;
- 透过cl_rest_json_invokeSrv()将request传送出去并且取得执行状态码、回传內容以及错误信息,当状态码为0是代表执行成功;
- 使用cl_rest_json_getParam()取得parameter的內容并将其內容透过toFGL()这个function 來转成RECORD形式以利我们取得所需的资讯,反之可从l_errmsg取得错误讯息。
T100 WebService Client 端开发(中台)
宣告应用服务要传给对方产品的主体资料,与接收回传的主体资料RECORD: