SAP B1-開(kāi)發(fā)學(xué)習(xí)-1 創(chuàng)建Web service并連接SAP B1實(shí)現(xiàn)系統(tǒng)登錄
發(fā)表于:2018/3/21 11:26:36??閱讀量: [關(guān)閉]
通過(guò)本文我們將學(xué)會(huì)如何使用ASP.NET 創(chuàng)建Web service 并使用SAP B1提供的DI API 連接至SAP B1實(shí)現(xiàn)系統(tǒng)的登陸,關(guān)于Web service 的概念和其他基本操作不再贅述,如果有不清楚的請(qǐng)?jiān)儐?wèn)度娘。
說(shuō)明:
SAP B1版本: 9.2 PL06
開(kāi)發(fā)工具:Microsoft Visual Studio 2010
開(kāi)發(fā)語(yǔ)言:C#
.NET版本:4.0
如果您沒(méi)有時(shí)間跟著步驟操作,可以在文章末尾直接下載文件。
操作步驟
創(chuàng)建WebService
1、打開(kāi)VS2010,菜單 文件->新建->項(xiàng)目。
2、選擇【ASP.net 空web應(yīng)用程序】,并修改名稱。
3、右鍵點(diǎn)擊工程,添加->新建項(xiàng),選擇 web服務(wù)。根據(jù)需求命名服務(wù)名稱。
4、打開(kāi)“.asmx.cs”文件,我們可以看到如下內(nèi)容,“HelloWorld”是系統(tǒng)給的示例。
5、單擊運(yùn)行我們可以在瀏覽器中看到如下內(nèi)容,先是一個(gè)方法目錄,單據(jù)對(duì)應(yīng)的方法進(jìn)入具體頁(yè)面,單擊調(diào)用,調(diào)用該方法,如無(wú)需數(shù)據(jù)參數(shù)則會(huì)直接返回結(jié)果。
添加引用
1、右擊“引用”-->“添加引用”
2、選擇“COM”,在右上角的搜索欄中輸入“DI API” ,選擇“SAP Business One DI API Version 9.0”(9.0、9.1、9.2都選擇該版本,其他版本請(qǐng)根據(jù)實(shí)際情況選擇),單擊“Add”。
添加方法
請(qǐng)?jiān)?HelloWorld 方法后添加如下方法,當(dāng)然也可以替換HelloWorld方法。
注:代碼中我已經(jīng)盡可能的添加注釋,如果仍有不明白的可以在底部評(píng)論區(qū)提問(wèn),我會(huì)進(jìn)行答復(fù),同時(shí)也方便更多的人閱讀,謝謝。
// 登陸SAP賬套 [WebMethod] public string ConnetSAP(string CompanyDB, string UserName, string PassWord)
{ //定義一個(gè)新的公司對(duì)象 SAPbobsCOM.Company oCompany;
//定義一個(gè)變量 int lRetCode;
//公司對(duì)象的初始化。
//創(chuàng)建一個(gè)新的公司對(duì)象 oCompany = new SAPbobsCOM.Company();
//-------設(shè)置連接數(shù)據(jù)庫(kù)---------//
//數(shù)據(jù)庫(kù)服務(wù)器名(需要與SLD中的“Server Name”一致) oCompany.Server = "SAPB1";
//數(shù)據(jù)庫(kù)類型 oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;
//數(shù)據(jù)庫(kù)用戶名和密碼 oCompany.DbUserName = "sa"; oCompany.DbPassword = "B1asdf";
//-------SAP連接的設(shè)置---------//
//SAP許可服務(wù)器設(shè)置(IP、計(jì)算機(jī)名均可) oCompany.LicenseServer = "SAPB1:30000";
//公司語(yǔ)言設(shè)置 oCompany.language = SAPbobsCOM.BoSuppLangs.ln_Chinese;
//公司選擇 oCompany.CompanyDB = CompanyDB;
//公司用戶名和密碼設(shè)置 oCompany.UserName = UserName; oCompany.Password = PassWord;
//系統(tǒng)返回的操作信息代碼 lRetCode = oCompany.Connect();
///////////////////////////////
//根據(jù)SAP返回代碼返回不同的信息,當(dāng)然也可以直接返回//
//如果返回代碼不是0則說(shuō)明發(fā)生異常 if (lRetCode != 0) { //如果連接失敗,返回錯(cuò)誤編號(hào)和錯(cuò)誤描述 int temp_int; string temp_string; oCompany.GetLastError(out temp_int, out temp_string); return temp_int + "_" + temp_string; } //否則操作成功 else { //如果連接成功,提示成功連接 return lRetCode+"_已成功連接" + oCompany.CompanyName; } }
調(diào)試
1、單擊工具欄中的“啟動(dòng)調(diào)試”。
2、在自動(dòng)打開(kāi)的頁(yè)面中選擇“ConnetSAP”。
3、數(shù)據(jù)相關(guān)參數(shù),并單擊“調(diào)用”查看結(jié)果。
注:如果在單擊“調(diào)用”后返回的錯(cuò)誤信息為“-10_ - 找不到映像文件中指定的資源名。”請(qǐng)檢查你的Sql服務(wù)器名稱是否正確。
發(fā)布
1、方法寫完后,右擊項(xiàng)目-->發(fā)布。
2、選擇【文件系統(tǒng)】發(fā)布,選擇發(fā)布后的文件夾地址,點(diǎn)擊【發(fā)布】即可。
3、在發(fā)布的文件夾中有如下文件。
4、打開(kāi)IIS,建立網(wǎng)站(詳情請(qǐng)咨詢度娘)。
5、發(fā)布成功后如下圖所示,選中網(wǎng)站點(diǎn)擊“瀏覽”查看WebService是否正常。
注:如出現(xiàn)異常請(qǐng)百度解決。
文件下載
1、源碼下載。
2、程序下載。
通過(guò)本文我們將學(xué)會(huì)如何使用ASP.NET 創(chuàng)建Web service 并使用SAP B1提供的DI API 連接至SAP B1實(shí)現(xiàn)系統(tǒng)的登陸,關(guān)于Web service 的概念和其他基本操作不再贅述,如果有不清楚的請(qǐng)?jiān)儐?wèn)度娘。
說(shuō)明:
SAP B1版本: 9.2 PL06
開(kāi)發(fā)工具:Microsoft Visual Studio 2010
開(kāi)發(fā)語(yǔ)言:C#
.NET版本:4.0
如果您沒(méi)有時(shí)間跟著步驟操作,可以在文章末尾直接下載文件。
操作步驟
創(chuàng)建WebService
1、打開(kāi)VS2010,菜單 文件->新建->項(xiàng)目。
2、選擇【ASP.net 空web應(yīng)用程序】,并修改名稱。
3、右鍵點(diǎn)擊工程,添加->新建項(xiàng),選擇 web服務(wù)。根據(jù)需求命名服務(wù)名稱。
4、打開(kāi)“.asmx.cs”文件,我們可以看到如下內(nèi)容,“HelloWorld”是系統(tǒng)給的示例。
5、單擊運(yùn)行我們可以在瀏覽器中看到如下內(nèi)容,先是一個(gè)方法目錄,單據(jù)對(duì)應(yīng)的方法進(jìn)入具體頁(yè)面,單擊調(diào)用,調(diào)用該方法,如無(wú)需數(shù)據(jù)參數(shù)則會(huì)直接返回結(jié)果。
添加引用
1、右擊“引用”-->“添加引用”
2、選擇“COM”,在右上角的搜索欄中輸入“DI API” ,選擇“SAP Business One DI API Version 9.0”(9.0、9.1、9.2都選擇該版本,其他版本請(qǐng)根據(jù)實(shí)際情況選擇),單擊“Add”。
添加方法
請(qǐng)?jiān)?HelloWorld 方法后添加如下方法,當(dāng)然也可以替換HelloWorld方法。
注:代碼中我已經(jīng)盡可能的添加注釋,如果仍有不明白的可以在底部評(píng)論區(qū)提問(wèn),我會(huì)進(jìn)行答復(fù),同時(shí)也方便更多的人閱讀,謝謝。
// 登陸SAP賬套 [WebMethod] public string ConnetSAP(string CompanyDB, string UserName, string PassWord)
{ //定義一個(gè)新的公司對(duì)象 SAPbobsCOM.Company oCompany;
//定義一個(gè)變量 int lRetCode;
//公司對(duì)象的初始化。
//創(chuàng)建一個(gè)新的公司對(duì)象 oCompany = new SAPbobsCOM.Company();
//-------設(shè)置連接數(shù)據(jù)庫(kù)---------//
//數(shù)據(jù)庫(kù)服務(wù)器名(需要與SLD中的“Server Name”一致) oCompany.Server = "SAPB1";
//數(shù)據(jù)庫(kù)類型 oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;
//數(shù)據(jù)庫(kù)用戶名和密碼 oCompany.DbUserName = "sa"; oCompany.DbPassword = "B1asdf";
//-------SAP連接的設(shè)置---------//
//SAP許可服務(wù)器設(shè)置(IP、計(jì)算機(jī)名均可) oCompany.LicenseServer = "SAPB1:30000";
//公司語(yǔ)言設(shè)置 oCompany.language = SAPbobsCOM.BoSuppLangs.ln_Chinese;
//公司選擇 oCompany.CompanyDB = CompanyDB;
//公司用戶名和密碼設(shè)置 oCompany.UserName = UserName; oCompany.Password = PassWord;
//系統(tǒng)返回的操作信息代碼 lRetCode = oCompany.Connect();
///////////////////////////////
//根據(jù)SAP返回代碼返回不同的信息,當(dāng)然也可以直接返回//
//如果返回代碼不是0則說(shuō)明發(fā)生異常 if (lRetCode != 0) { //如果連接失敗,返回錯(cuò)誤編號(hào)和錯(cuò)誤描述 int temp_int; string temp_string; oCompany.GetLastError(out temp_int, out temp_string); return temp_int + "_" + temp_string; } //否則操作成功 else { //如果連接成功,提示成功連接 return lRetCode+"_已成功連接" + oCompany.CompanyName; } }
調(diào)試
1、單擊工具欄中的“啟動(dòng)調(diào)試”。
2、在自動(dòng)打開(kāi)的頁(yè)面中選擇“ConnetSAP”。
3、數(shù)據(jù)相關(guān)參數(shù),并單擊“調(diào)用”查看結(jié)果。
注:如果在單擊“調(diào)用”后返回的錯(cuò)誤信息為“-10_ - 找不到映像文件中指定的資源名。”請(qǐng)檢查你的Sql服務(wù)器名稱是否正確。
發(fā)布
1、方法寫完后,右擊項(xiàng)目-->發(fā)布。
2、選擇【文件系統(tǒng)】發(fā)布,選擇發(fā)布后的文件夾地址,點(diǎn)擊【發(fā)布】即可。
3、在發(fā)布的文件夾中有如下文件。
4、打開(kāi)IIS,建立網(wǎng)站(詳情請(qǐng)咨詢度娘)。
5、發(fā)布成功后如下圖所示,選中網(wǎng)站點(diǎn)擊“瀏覽”查看WebService是否正常。
作者:BlenderKou
來(lái)源:簡(jiǎn)書
本文鏈接:SAP B1-開(kāi)發(fā)學(xué)習(xí)-1 創(chuàng)建Web service并連接SAP B1實(shí)現(xiàn)系統(tǒng)登錄