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)登錄