TIPTOP調(diào)用外部Webservice傳輸數(shù)據(jù)
功能要求TOPGP中ERP作業(yè)需要調(diào)用外部系統(tǒng)的webserice來更新數(shù)據(jù)。具體是將TOPGP中ERP作業(yè)cooi002(員工檔案)錄入后的數(shù)據(jù)更新到外部系統(tǒng)的員工檔案表。演示環(huán)境在外部系統(tǒng)搭建We
功能要求
TOPGP中ERP作業(yè)需要調(diào)用外部系統(tǒng)的webserice來更新數(shù)據(jù)。具體是將TOPGP中ERP作業(yè)cooi002(員工檔案)錄入后的數(shù)據(jù)更新到外部系統(tǒng)的員工檔案表。
演示環(huán)境
在外部系統(tǒng)搭建WebSerice,這里使用.net進行搭建。
調(diào)用方法
在Service.cs文件中編寫一個名為erp_other的調(diào)用方法,該方法包含兩個參數(shù):
1. String AccessType:標志位,用于標志更新、刪除或新增操作。
2. RecValue:數(shù)組數(shù)據(jù),用于傳輸員工信息數(shù)據(jù)。
提供的代碼如下:
```csharp
[WebMethod]
// ERP TIPTOP 調(diào)用webserver
public bool erp_other(String AccessType, RecValue)
{
string SqlStr "insert into gen_file (gen01,gen02,gen03,gendate) values ('" "','" "','" "',null);";
bool g_success false;
if (AccessType "I")
{
g_success db_Con.execSql(SqlStr);
}
return g_success;
}
```
發(fā)布和配置
1. 將網(wǎng)站發(fā)布到服務(wù)器,并配置IIS以便能夠運行上述發(fā)布的WebServices。具體的IIS操作不在此詳細講解,可自行百度學(xué)習(xí)。
2. 在IIS中新建虛擬目錄。
檢查配置
在瀏覽器中打開WebServices的URL,如果能夠成功訪問,則表示配置成功。
連接TIPTOP和外部Webservice
1. 在TIPTOP中切換到目錄/4gl,執(zhí)行命令fglwsdl 。執(zhí)行后會生成兩個文件:Service_ServiceSoap.4gl和Service_。
2. 編譯r.c2 Service_ServiceSoap.4gl。
3. 在作業(yè)cooi002中添加全局變量`GLOBALS "/u1/toptest/topcust/coo/4gl/Service_"`。
4. 編寫代碼來調(diào)用WebServices。需要注意的是,變量的類型必須與WebService中的類型一致,否則會報錯。在Genero中,我們常用`LIKE`數(shù)組字段來定義字段類型,但是在調(diào)用Webserver時不起作用,必須使用與WebService中定義的變量類型相同。
示例代碼如下:
```genero
DEFINE p_recval RECORD
gen01 STRING,
gen02 STRING,
gen03 STRING
END RECORD
```
上傳并編譯作業(yè)cooi002,并加入與WebService的連接,這樣就成功實現(xiàn)了調(diào)用外部Webservice傳輸數(shù)據(jù)的功能。