TIPTOP调用外部Webservice传输数据
1、在外部系统搭建WebSerice,这里我使用.net搭建。
2、在Service.cs中写一个调用方法erp_othererp_other中两个参数String AccessType:标志位,用于标志更新,删除,新增Class2.myGen RecValue:数组数据,传输员工信息数据
3、提供代码:App_Code/Ser箪滹埘麽vice.cs [WebMethod] //ERP TIPTOP 调用webserver public bo泠贾高框ol erp_other(String AccessType, Class2.myGen RecValue) { string SqlStr = "insert into gen_file (gen01,gen02,gen03,gendate) values ('" + RecValue.gen01 + "','" + RecValue.gen02 + "','" + RecValue.gen03 + "',null)"; bool g_success = false; if (AccessType == "I") { g_success = db_Con.execSql(SqlStr); } return g_success; }
4、发布网站,配置IIS可运行上述发布的WebServices,在IIS中新建虚拟目录(这个是IIS的操作,不详细讲解,可以百度学习)
5、在浏览器中检查WebServices配置是否成功,打开如下图,表示成功。
6、下面我们到哌囿亡噱TIPTOP中连接上面建好的webservice,切换到目录/4gl中,执行fglwsdl http://10.0.82.96/WebServersRele锾攒揉敫ase/Service.asmx?WSDL执行后生成两个文件Service_ServiceSoap.4gl/Service_ServiceSoap.inc
7、编译r.c2 Service_ServiceSoap.4gl8、用Genero打开作业cooi002,增加如下图所示GLOBALS"/u1/toptest/topcust/coo/4gl/Service_ServiceSoap.inc"
8、编写代码,调用掳姗浚瑙WebServices注意:变量的类型一定要与WebService中的类型一样,如果不一样就会报错,在Genero中我们通常习惯用Like数组字段来定义字段类锸责氧铼型,但是在调用Webserver时就不行,必须使用和WebService中的定义的变量类型一样。 DEFINE p_recval RECORD gen01 STRING , gen02 STRING , gen03 STRING END RECORD
9、上传编译cooi002并加入WebService连接,这样就成功了。