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