更多例子请参考 https://pan.baidu.com/s/1Qb1QIUZITfIPPN_WcflscA 提取码: k4tk

1、客制好接口程序,编译自己写的程序(以下有登陆的接口的例子)

2、在aws_ttsr v2_ser vice.4gl里添加服务名称

3、在aws_ttsr v2的link里添加新写的端口程序

4、在aws_ttcfg2(集成服务SERVER端设置作业)里维护

5、关闭aws服务

查找指令:ps -ef|grep 'aws_ttsrv2'


一般会找到3个,grep的那个不管,另2个进程杀掉
指令: kill -9 进程号

6、重启服务

5.1以上版本 重启服务用指令:startws

5.1版本 重启服务用指令:startweb as start

7、打开网页

http://IP地址:端口号/ws/r/aws_ttsrv2?WSDL

8、找到刚才添加的服务名称,就表示成功

# Prog. Version..: '5.30.06-13.03.12(00000)'     #
#
# Descriptions...: 掃描作業用戶登錄驗證
# Date & Author..: 2022-12-06 By Lian DATABASE dsGLOBALS "../../../tiptop/config/top.global"GLOBALS "../../../tiptop/aws/4gl/aws_ttsrv2_global.4gl"   #TIPTOP Service GatewayDEFINE g_login   RECORD username   LIKE type_file.chr20,plant      LIKE type_file.chr50,realname   LIKE type_file.chr50,departcode LIKE type_file.chr20,departname LIKE type_file.chr50,access     VARCHAR(4000)END RECORDFUNCTION aws_login_check2()WHENEVER ERROR CONTINUECALL aws_ttsrv_preprocess()    #呼叫服務前置處理程序 #FUN-860037IF g_status.code = "0" THENCALL aws_login_check2_process()END IFCALL aws_ttsrv_postprocess()   #呼叫服務後置處理程序
END FUNCTIONFUNCTION aws_login_check2_process()DEFINE l_username LIKE type_file.chr20,l_password LIKE type_file.chr50,l_plant    LIKE type_file.chr20,l_nn       LIKE type_file.num5,l_type   LIKE type_file.chr20DEFINE l_node  om.DomNodeDEFINE l_sql   STRINGDEFINE l_chk_pasword VARCHAR(100)DEFINE l_chk_pasword1 stringINITIALIZE g_login.* TO NULLLET l_username = aws_ttsrv_getParameter("username")   #用戶idLET l_password = aws_ttsrv_getParameter("password")   #密碼LET l_type = aws_ttsrv_getParameter("type")                    #取由呼叫端呼叫時給予的 SQL ConditionIF cl_null(l_username) THENLET g_status.code = -1LET g_status.description = '用戶名不能為空!'RETURNEND IFLET l_sql =" SELECT zx10 FROM zx_file WHERE zx01 = '",l_username,"'"PREPARE prep_aaa FROM l_sqlEXECUTE prep_aaa INTO l_chk_paswordIF cl_null(l_chk_pasword) THEN LET g_status.code = -1LET g_status.description = '用戶名不存在,請重新輸入!'RETURNEND IFSELECT zx01,zx08,zx02,zx03 INTO g_login.username,g_login.plant,g_login.realname,g_login.departcode FROM zx_fileWHERE zx01=l_usernameIF SQLCA.SQLCODE THENLET g_status.code = SQLCA.SQLCODELET g_status.sqlcode = SQLCA.SQLCODEEND IFIF NOT cl_null(g_login.username) THEN CALL aws_access2(g_login.username,l_type)END IFIF NOT cl_null(g_login.departcode) THENSELECT gem02 INTO g_login.departname FROM gem_file WHERE gem01=g_login.departcodeEND IFCALL aws_ttsrv_addParameterRecord(base.TypeInfo.create(g_login))END FUNCTIONFUNCTION aws_chk_id_and_password_sec_chkz2(ls_pwd)DEFINE ls_pwd     STRINGRETURN aws_chk_id_and_password_hash_dd2("28682266",ls_pwd)END FUNCTIONFUNCTION aws_chk_id_and_password_hash_dd2(p_token,ls_inp) #FUN-C60025DEFINE ls_inp, ls_out  STRINGDEFINE ls_demo         STRINGDEFINE ls_new1,ls_new2 STRINGDEFINE li_cnt,li_i,li_j,li_move,li_tmp  SMALLINTDEFINE lc_gbt07        LIKE type_file.chr1DEFINE p_token         STRING    #FUN-C60025LET ls_inp = ls_inp.trim() IF p_token <> "28682266" THEN    #FUN-C60025 控管進入的token ,避免被外部程式不當使用RETURN ls_inpEND IFSELECT gbt07 INTO lc_gbt07 FROM gbt_file WHERE gbt00="0"IF SQLCA.SQLCODE OR lc_gbt07 IS NULL OR lc_gbt07 <> "Y" THENRETURN ls_inpEND IFLET li_cnt = ls_inp.subString(ls_inp.getLength(),ls_inp.getLength())LET ls_out = ls_inp.subString(1,ls_inp.getLength()-1)IF li_cnt > 0 THENFOR li_j = 1 TO li_cntLET ls_inp = ls_outLET ls_new1="" LET ls_new2=""LET li_i = TRUEFOR li_tmp = ls_inp.getLength() TO 1 STEP -1IF li_i THENLET ls_new2 = ls_inp.subString(li_tmp,li_tmp),ls_new2LET li_i = FALSEELSELET ls_new1 = ls_new1,ls_inp.subString(li_tmp,li_tmp)LET li_i = TRUEEND IFEND FORLET ls_out = ls_new1,ls_new2END FOREND IFLET li_move = ls_out.subString(ls_out.getLength()-1,ls_out.getLength())LET ls_inp = ls_out.subString(1,ls_out.getLength()-2)#SeedLET ls_demo = "7D#wG^>t4H&s3KAz5B!y6C<@x)pLJ(q]1nN_mOl,P8E$v9F[%u0o-MI*r2kQ.jRi:ShT;gUf?VeW+dXc|Yb~Za `='",'"'LET ls_out = ""FOR li_i = 1 TO ls_inp.getLength()LET li_tmp = ls_demo.getIndexOf(ls_inp.subString(li_i,li_i),1) IF li_tmp > 0 THENIF li_tmp < li_move THENLET li_tmp = li_tmp + 91 - li_moveELSELET li_tmp = li_tmp - li_moveEND IF#樣本字串裡存在的LET ls_out = ls_out,ls_demo.subString(li_tmp,li_tmp)ELSE#樣本字串裡不存在的LET ls_out = ls_out,ls_inp.subString(li_i,li_i)END IFEND FORLET ls_out = ls_out.subString(3,ls_out.getLength()-4)RETURN ls_outEND FUNCTIONFUNCTION aws_access2(p_username,p_type)DEFINE  p_username  LIKE zx_file.zx01DEFINE  p_type  LIKE type_file.chr20DEFINE  l_sql   ,ls_sql    STRINGDEFINE  l_n         LIKE type_file.num5DEFINE  l_tc_auth   RECORD LIKE tc_auth_file.*DEFINE  l_access    VARCHAR(4000)DEFINE  l_t         LIKE type_file.num10DEFINE l_tc_authg03   LIKE tc_authg_file.tc_authg03DROP TABLE xCREATE TEMP TABLE x(                                                                  a VARCHAR(10))DELETE FROM xLET l_n=0LET g_login.access=''SELECT COUNT(*) INTO l_n FROM  tc_auth_file WHERE tc_auth01=p_usernameIF l_n=0 THEN LET g_login.access=''ELSE #       LET l_t = g_login.access.getLength()
#       LET g_login.access= g_login.access.subString(1,l_t-1)
###SELECT to_char(WM_CONCAT(b.a))  INTO g_login.access   FROM (SELECT DISTINCT a FROM x)  b###   SELECT to_char(WM_CONCAT(b.a))  INTO g_login.access   FROM (SELECT DISTINCT a FROM x)  bLET ls_sql="  SELECT DISTINCT a FROM x " ##            PREPARE sina_m3_t2 FROM ls_sql##            EXECUTE sina_m3_t2 INTO g_login.access PREPARE access_pre2 FROM ls_sqlDECLARE access_cur2 CURSOR FOR access_pre2FOREACH access_cur2 INTO  l_tc_authg03IF STATUS THENEXIT FOREACHEND IFIF cl_null(g_login.access) THENLET g_login.access  = l_tc_authg03ELSELET g_login.access  =g_login.access,',', l_tc_authg03END IFEND FOREACHEND IFDROP TABLE x
END FUNCTION

<soapenv:Envelopexmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:tip="http://www.dsc.com.tw/tiptop/TIPTOPServiceGateWay"><soapenv:Header/><soapenv:Body><tip:LoginCheck2Request><tip:request>&lt;Request>&lt;Access>&lt;Authentication password="tiptop" user="user06"/>&lt;Connection application="APP" source="" />&lt;Organization name="TIPTOP" />&lt;Locale language="zh_cn" />&lt;/Access>&lt;RequestContent>&lt;Parameter>&lt;Record>&lt;Field name="username" value="user06" />&lt;/Record>&lt;/Parameter>&lt;Document/>&lt;/RequestContent>&lt;/Request></tip:request></tip:LoginCheck2Request>
</soapenv:Body>
</soapenv:Envelope>

鼎捷ERP Tiptop T100/GP Webservice开发详细步骤 完整例子带有源代码 soapui测试 Tiptop Webservice开发源代码4GL完整例子---登陆例子相关推荐

  1. 鼎捷ERP二次开发教程 Tiptop GP开发资料大全 Tipto开发实战经验 鼎捷开发实战例子 Tiptop GP二次开发项目例子 4GL开发Demo 鼎捷二次开发完整例子 鼎捷ERP二次开发入门

    本人在ERP实施公司做顾问四五年,参与企业实施ERP十多个项目,非常熟悉企业ERP流程,在实施过程遇到众多问题,提出了不少根据企业具体情况的解决方案. 曾经参与鼎捷Tiptop GP实施十多个项目,具 ...

  2. 鼎捷ERP二维码整体解决方案 Tiptop GP条码管理系统 鼎捷ERP移动解决方案 鼎捷条码扫描 鼎捷WMS仓库移动扫码 鼎捷安卓PDA扫码方案 Tiptop 出入库盘点出货条码扫码

    本人在ERP实施公司做顾问四五年,参与企业实施ERP十多个项目,非常熟悉企业ERP流程,在实施过程遇到众多问题,提出了不少根据企业具体情况的解决方案. 最近定制开发了一套适合企业的条码扫码平台,基于鼎 ...

  3. 微信小程序开发详细步骤解决方案

    什么行业适合使用微信小程序? 01. 什么是微信小程序? 微信内嵌的小程序,不需要下载安装就能使用,具有开发成本低.使用方便等特点,它实现了应用"触手可及",用户通过扫描或搜索就能 ...

  4. 分享微信小程序开发详细步骤

    1.梳理小程序开发功能需求 自己可以用思维导图写出自己想要开发的小程序里面,需要设置哪些功能,这些功能帮助我解决什么问题.然后把想法用文字形式在思维导图中写出来. 如果不知道如果梳理,也可以找专业的产 ...

  5. 微信小程序开发详细步骤(企业小程序开发流程)

    今天珍奶bb给大家简单唠唠微信小程序开发详细步骤(企业小程序开发流程)? 微信小程序制作流程是什么?微信小程序制作模板套用怎么操作?今天珍奶bb给大家简单唠唠微信小程序制作流程是什么? 在唠微信小程序 ...

  6. 中国35岁以上的程序猿哪去了?,基于android的app开发详细步骤

    举几个例子: A,女,前同事,90左右,985硕士,15年毕业,二线互联网公司,干了4年,19年,29岁跑路,高校行政岗事业编,月薪从25K到6K,5:30下班. B.男,读者,85左右,985硕士, ...

  7. 实战python+django+mysql开发详细步骤及代码学习

    开发工具:pycharm 环境:python3.7.4(例子中用的3.6) 下载安装pycharm:http://www.jetbrains.com/pycharm/download/#section ...

  8. TP5 对接支付宝支付接口开发详细步骤(证书签名方式)

    注: 支付宝支付分为支付宝公钥和证书签名方式两种,如果需要使用退款功能要用证书签名方式开发 php接入支付宝证书方式签名 支付宝 PHP SDK 分为老版和新版,老版本的 PHP SDK(v3.4.2 ...

  9. 餐饮行业管理系统技术开发详细步骤详解

    一. 项目介绍 本系统主要应用在餐饮行业,可以适用于中餐.西餐.快餐.火锅.烤肉等,主要功能分前端和后端两部分.前端主要完成就餐客户的餐厅预定及点菜环节,后端主要完成餐厅.餐桌的设置,菜品的设置等 系 ...

最新文章

  1. 如何找到 SAP Spartacus OCC cms page 发送请求时读取 API endpoint 的代码
  2. 电商企业怎样用好大数据
  3. 使用JDBCTemplate实现与Spring结合,方法公用
  4. 网络编程模型综述 之 UNIX网络I/O模型
  5. VS2017 控件添加关联变量
  6. 1月份Github上热门Python开源项目
  7. 7.8 Cound 练习
  8. 什么软件可以测试音乐速度,酷狗如何测试电台速度
  9. 虾皮物流怎么收费?收费标准是什么?
  10. C#Winform的DataGridView控件使用详解2—DataGridView表格样式设置及表格操作
  11. 机械臂的力矩前馈控制
  12. 【生信】初探蛋白质性质和结构分析
  13. VLC的ACtiveX插件使用方法
  14. CentOS 7安装LMD杀毒软件
  15. Speedtest 直装高级版 +支持多平台 —— 强悍网络速度测试工具!
  16. Shell正则表达式 三剑客之grep
  17. 说说$strobe,$monitor 和 $display 的差别
  18. “成语消消乐”隱私政策
  19. 【考研英语语法】介词 Preposition
  20. 关键字const是什么含意?

热门文章

  1. qml Qchart 时间轴的图表
  2. 闷声发大财,你不知道的六个国内“隐形冠军”企业
  3. c4d学习笔记2 渲染部分补充
  4. c4d 帮助 prime r16 usage
  5. 预测泰坦尼克号生存问题
  6. Hexo-Next 花式配置
  7. 安静的读书,安静的体会生活
  8. 200411 快X数据分析岗笔经
  9. elementui 表格表头竖着显示_ElementUI中table表格自定义表头Tooltip文字提示
  10. 前端画圆弧html弧线的像素,使用canvas绘制圆弧动画