tiptop开发webservice详细步骤

tiptop开发webservice详细步骤4gl,webservice,tiptop,t100

大家好,又见面了,我是你们的朋友全栈君。

一:服务端开发

1:tiptop所有的接口都是通过aws_ttsrv2.4gl 这个程序接收进来的,接口的地址一般是 [url=http://[tiptop_ip]/web/ws/r/aws_ttsrv2?WSDL%20]http://[TIPTOP_IP]/web/ws/r/aws_ttsrv2?WSDL[/url] 其中TIPTOP IP 为
TOP GP 服务器的IP地址,替换IP后在IE浏览器能访问这个地址则证明你的接口是通的,调试接口有一个很重要的工具soap ui,具体怎么用可以百度,没搜出来的可以跟帖回我,这里就不详细讲了
2:针对每个接口程序,我们一般会在aws_ttsrv2_service.4gl 程序里面去新添加他的接口名,以及调用FUNCTION,这个是第一步,具体怎么加可以下载 /u1/topprod/tiptop/aws/4gl/aws_ttsrv2_service.4gl 参考里面任意一个接口程序的写法
3:在aws_ttsrv2_service.4gl添加好你的接口程序后,就需要去定义你的接口程序,一般命名就是aws_xxxx.4gl,这个程序就是aws_ttsrv2_service.4gl里面要调用的程序,里面写你需要的XML数据抓取,程序逻辑处理,状态返回等,前面的三个步骤大致如下图所示,程序撰写方式可以在aws/4gl目录下随便参考一个
在这里插入图片描述
4:程序撰写上传成功后,就需要去p_link 将你的程序链接到aws_ttsrv2上面,这样你的程序才能被主程序找到
5:在aws_ttcfg2 新增你的接口信息,让webservice服务器能识别的到,如下图
在这里插入图片描述
6:前面几个步骤完成后,就需要去重新产生你的WSDL档了,方式为在aws/4gl目录运行以下命令:
r.r2 aws_ttsrv2 -W http://serverURL #这里的serverURL 就是你的webservice地址和端口
运行完后,他会提示你生成的位置,你到那个路径下下载你的wsdl文件,查找你的服务名,如果存在,则代表生成成功!
成功后在soap ui 载入这个wsdl文件,那么其他系统就能直接使用这个接口了

7:XML文件的制作
tiptop 对应接口的XML文件很简单,在soap ui中找到你的接口,只需要把你的数据按指定格式填好就行了
下面粘贴一个示例,基本都是按照这个格式来的

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tip="http://www.dsc.com.tw/tiptop/TIPTOPServiceGateWay">
  <soapenv:Header />
  <soapenv:Body>
    <tip:CreateApmt110bwDataRequest>               #这里就是你添加的服务名
      <tip:request>
        <Request>
          <Access>
            <Authentication user="tiptop" password="tiptop" />          #这里的数据其实是不抓的
            <Connection application="EFGP" source="192.168.1.2" />
            <Organization name="XXX" />
            <Locale language="zh_cn" />
          </Access>
          <RequestContent>
            <Document>
              <RecordSet id="1">
                <Master name="rva_file">     #这里是数据单头信息
                  <Record>
                    <Field name="rva07" value="XXXXXXXXXXXXXX" />
                    <Field name="rva05" value="XXXXX" />
                    <Field name="rva06" value="2017-11-01T00:00:00" />
                  </Record>
                </Master>
                <Detail name="rvb_file">   #这里是数据单身信息
                  <Record>
                    <Field name="rvb02" value="1" />
                    <Field name="rvb03" value="1" />
                    <Field name="rvb04" value="XXXXXX" />
                    <Field name="rvb05" value="XXXXXXXXXXXX" />
                    <Field name="rvb07" value="XXXX" />
                    <Field name="rvb36" value="XXXXXX" />
                    <Field name="rvb38" value=" " />
                    <Field name="rvb39" value="Y" />
                    <Field name="rvb89" value="N" />
                  </Record>
                </Detail>
              </RecordSet>
            </Document>
          </RequestContent>
        </Request>
      </tip:request>
    </tip:CreateApmt110bwDataRequest>
  </soapenv:Body>
</soapenv:Envelope>

8:程序制作完了,也上传完了,接下来就是测试了,接口测试需要借助soap ui工具,测试步骤看附件吧

二:客户端开发

客户端开发比较简答,可以通过工具自动生成所需程序
1:首先要知道对方服务器的连接地址,就是那个已?wsdl结束的地址,在浏览器打开,如果能成功看到类似下面的页面,说明可以访问
在这里插入图片描述
2:进入cws/4gl目录(其实随便哪个目录都行,你想放哪个放哪个),运行fglwsdl http://10.1.32.227//services/WorkflowService?wsdl (这个地址是服务器的地址,需要替换成你要访问服务器的) 运行成功后会在当前目录生成一个4gl文件和inc文件,4gl文件提供调用方法,inc文件提供变量定义
3:接下来就是调用了,定义好传入变量的数据,调用函数,返回值,写法就和一般的程序一样了!

三:接口调试(debug)

debug工具:soapui,下载地址sopui
1:因为tiptop的接口不能自动转换<,所以xml文件里面的<需要替换成< 如下图
在这里插入图片描述
2.打开soapui ,输入wsdl
在这里插入图片描述
3.输入后右边有对应的接口代码,点击对应的接口代码的request
在这里插入图片描述
4、将?号替换成你刚处理的xml那段资料
在这里插入图片描述
5.将对应的接口地址 修改下端口 8090 (端口需要大于8090 如 8091,8092,不可以小于8090)
在这里插入图片描述
6. 然后执行以下代码后面的8090 就是上面修改对应的端口号

#1:aws/4gl目录
cd aws/4gl
#2:debug
r.d2+ aws_ttsrv2 -S 8090  # -S为大写的

在这里插入图片描述
7.bebug 从这里进去
在这里插入图片描述
8.然后进去这里,点击F11进去后画面会一直显示转圈,然后你要到saopui那边执行
在这里插入图片描述
9. 返回sopui,请求接口
在这里插入图片描述
10.就能进去对应的4gl里面去
在这里插入图片描述
后面的debug 跟其他程序的debug一样的

四:接口函数介绍

    CALL aws_ttsrv_preprocess()   #接口数据验证函数,正确了才能继续下一步
    CALL aws_ttsrv_postprocess()  #接口完成后数据返回
    LET l_cnt1 = aws_ttsrv_getMasterRecordLength("ina_file")  #用于获取ina_file节点的个数
    LET g_node1 = aws_ttsrv_getMasterRecord(l_i, "ina_file")   #获取ina_file节点的数组值
    LET g_ina.ina02 = aws_ttsrv_getRecordField(g_node1, "ina02" ) #获取节点里面的实际字段值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158166.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • grid布局方式_grid网格布局

    grid布局方式_grid网格布局GridBagConstraints特征:由GridBagConstraints类实现的布局管理器称为网格组布局管理器,它实现了一个动态的矩形网格,这个矩形风格由无数个矩形单元格组成,每个组件可以占用一个或多个这样的单元格。动态矩形网格:可以根据实际需要随意增减矩形网格的行数和列数。它实现的矩形网格的绘制方向由容器决定,网格的索引从0开始。下面写一个测试方法来讲解GridBagC

    2022年9月6日
  • xampp环境下drupal安装心得[通俗易懂]

    xampp环境下drupal安装心得[通俗易懂]开始学习drupal,首先在关于drupal的安装上就出现了困难,让自己郁闷了好久,所幸最后安装成功,虽然依然有一些小瑕疵:貌似没有邮件发送功能,但这些应该是之后可以调整的,装了不下30次,最后担心自己电脑问题,还在同学的电脑上试了一下,安装成功的时候自己快泪奔了%>_能够遇到的问题基本都遇到了,甚至有些问题自己遇到了网上都查不到资料,记下来备忘吧。​安

    2022年7月20日
  • 查询数据库数据量特别大时,怎么防止jvm溢出

    查询数据库数据量特别大时,怎么防止jvm溢出查询数据库数据量特别大时,怎么防止jvm溢出

    2022年4月23日
  • python检测字符串乱码

    python检测字符串乱码importchardetf=open(‘test.txt’,’rb’)f_read=f.read()f_charInfo=chardet.detect(f_read)print(f_charInfo)#f_charInfo的输出是这样的的一个字典{‘confidence’:0.99,’encoding’:’utf-8′}转载于:https://www.cnblogs.c…

    2022年5月17日
  • pytest 执行用例_测试用例执行结果有哪些

    pytest 执行用例_测试用例执行结果有哪些前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月29日
  • 离散数学在计算机科学中的应用论文(集合论在计算机的应用)

    自从我们学院进行软件工程认证后,期末考试的专业课全部是大题。这次离散数学的最后一题是:利用本学期学到的离散数学的知识阐释其在一个软件工程中的应用。下面说说离散数学的应用。离散数学在数据结构中的应用数据结构中将操作对象间的关系分为四类:集合、线性结构、树形结构、图状结构或网状结构。数据结构研究的主要内容是数据的逻辑结构,物理存储结构以及基本运算操作。其中逻辑结构和基本运算操作来源于离散

    2022年4月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号