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" ) #获取节点里面的实际字段值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 普通正态分布如何转换到标准正态分布中_正态分布化成标准正态的公式

    普通正态分布如何转换到标准正态分布中_正态分布化成标准正态的公式1.普通正态分布转换标准正态分布公式我们知道正态分布是由两个参数μ\muμ与σ\sigmaσ确定的。对于任意一个服从N(μ,σ2)N(\mu,\sigma^2)N(μ,σ2)分布的随机变量XXX,经过下面的变换以后都可以转化为μ=0,σ=1\mu=0,\sigma=1μ=0,σ=1的标准正态分布(standardnormaldistribution)。转换公式为:z=X−μσz=\…

  • java销售管理系统_图书销售管理系统Java源代码

    java销售管理系统_图书销售管理系统Java源代码【实例简介】图书销售管理系统,内含源代码,项目需求分析,编写思路【实例截图】【核心代码】BookSaleManagementSystem└──BookSaleManagementSystem├──bin│├──com││└──pb││├──authority│││├──impl││││├──…

  • 找不到springapplication_idea显示找不到或无法加载主类

    找不到springapplication_idea显示找不到或无法加载主类学习是一件反人性的事情最近计划重拾微服务的学习,于是使用官方的quickinitialization生成了一个示例项目,发现SpringApplication始终无法引入,当前使用的版本是SpringBoot2.0.3.RELEASE,仔细查了一下maven依赖,对应的spring-boot-2.0.3.Release.jar包里是存在SpringApplication类的。各…

  • AQS源码分析[通俗易懂]

    AQS源码分析[通俗易懂]概述当我们提到juc包下的锁,就不得不联系到AbstractQueuedSynchronizer这个类,这个类就是大名鼎鼎的AQS,AQS按字面意思翻译为抽象队列同步器,调用者可以通过继

  • 安利一款Python开发的仿Linux树形显示目录tree命令「建议收藏」

    安利一款Python开发的仿Linux树形显示目录tree命令「建议收藏」大家好,我是小小明,今天要带大家通过python来实现仿Linux的tree命令。文章目录Linux与Windows的tree命令Linux的tree命令演示Windows的tree命令Python自制tree命令os模块基础代码Rich库关于tree模块的官方示例调用Tree模块实现仿Linux树形显示目录效果安装自定义tree模块首先看看Linux下的tree命令效果如何:Linux与Windows的tree命令Linux的tree命令演示在CentOS的Linux系统下,我们可以再使用yum

  • 12个MySQL慢查询的原因分析「建议收藏」

    12个MySQL慢查询的原因分析「建议收藏」12个MySQL慢查询的原因分析

    2022年10月14日

发表回复

您的电子邮箱地址不会被公开。

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