- 在aws_ttsrv2_service.4gl 里面维护函式名称和对应服务名,下面的aws_confmesData就是对应的业务逻辑处理了(先做个空的放这里)。
2.在aws_ttcfg2中维护对应关系(只用维护服务代码和函式对应就行)
注释:后面对方调用的函数就是我们的服务代码(例:get_confmesData)
3.编写对应的服务程序(通过如图的这个 CALL aws_confmesData() 到新做的4gl去)
4.编译 aws_ttsrv2_service 和新做的4gl,维护p_zz (在aws_ttsrv2加新的4gl然后链接)
Web Service 確認整合設定是否正確 開啟 IE ,在網址列輸入以下網址:
如:http://192.xxx.xxx.xxx/web/ws/r/aws_ttsrv2?WSDL(测试区则是在v2后面加_toptest就行)
若有看到 xml 的內容,表示設定正確,如果没有就启动下服务(在tiptop下执行 startws)
5.用 r.r2 aws_ttsrv2 -W serverURL 指令生成wsdl文件给对方 下载目录:<topprod:/u1/out>
打开Soap Ui,在File 里选中New SoapUi project 新建project
找到对应服务(一定要找对例:get_confmesData),右击,新建request后,在新建的request上双击打开窗口,录入参数对应值(传入xml内容)
注:<tip:request>?</tip:request>间为传入的xml值,将xml黏贴到指定位置时需加转译符<![CDATA[ xml的内容 ]]>这样。要打什么换行,什么空格的,直接把?替换成字符串就行了
更改Current WSDL地址 使用与Debug界面对应的端口号
如将http://192.xxx.xxx.xxx/web/ws/r/aws_ttsrv2?WSDL 改为http://192.xxx.xxx.xxx:8090
在启用这个测试之前最好是用 http://192.xxx.xxx.xxx/web/ws/r/aws_ttsrv2?WSDL的方式测一下xml格式(不要加业务逻辑,不然得凉),在标准的基础上会有一些微调(自己把握)结果如图(可以别的报错,)就证明起码xml是好的(证明已经可能已经到了业务逻辑那段)。
- 在Xshell中cd aws/4gl 进入目录 执行命令r.d2+ aws_ttsrv2 -S 8090
其他可能会用 r.d2+ aws_efsrv2 -S 8090
执行至“处理呼叫的服务”时点击Soap Ui 的运行按钮再以F11进入函数
6.然后直接到Dbug界面F11直接进入呼叫的函数,后面是正常Dbug了。
注释:注意如果g_ststus.code不是0的话很可能是xml的格式不对需要微调。
调用接口的例子:先将wsdl地址链接上,然后代码如下:
重要!!!当出现8090端口和tsrv2?WSDL 的逻辑不符时 要 startws 一下才行(代码版本不一致)