SAP B1-开发学习-1 创建Web service并连接SAP B1实现系统登录

发表于:2018/3/21 11:26:36  阅读量: [关闭]



  通过本文我们将学会如何使用ASP.NET 创建Web service 并使用SAP B1提供的DI API 连接至SAP B1实现系统的登陆,关于Web service 的概念和其他基本操作不再赘述,如果有不清楚的请询问度娘。

  说明:

  SAP B1版本: 9.2 PL06

  开发工具:Microsoft Visual Studio 2010

  开发语言:C#

  .NET版本:4.0

  如果您没有时间跟着步骤操作,可以在文章末尾直接下载文件。

  操作步骤

  创建WebService

  1、打开VS2010,菜单 文件->新建->项目。

  2、选择【ASP.net 空web应用程序】,并修改名称。

  3、右键点击工程,添加->新建项,选择 web服务。根据需求命名服务名称。

  4、打开“.asmx.cs”文件,我们可以看到如下内容,“HelloWorld”是系统给的示例。

  5、单击运行我们可以在浏览器中看到如下内容,先是一个方法目录,单据对应的方法进入具体页面,单击调用,调用该方法,如无需数据参数则会直接返回结果。

  添加引用

  1、右击“引用”-->“添加引用”

  2、选择“COM”,在右上角的搜索栏中输入“DI API” ,选择“SAP Business One DI API Version 9.0”(9.0、9.1、9.2都选择该版本,其他版本请根据实际情况选择),单击“Add”。

  添加方法

  请在 HelloWorld 方法后添加如下方法,当然也可以替换HelloWorld方法。

  注:代码中我已经尽可能的添加注释,如果仍有不明白的可以在底部评论区提问,我会进行答复,同时也方便更多的人阅读,谢谢。

  // 登陆SAP账套 [WebMethod] public string ConnetSAP(string CompanyDB, string UserName, string PassWord)

  { //定义一个新的公司对象 SAPbobsCOM.Company oCompany;

  //定义一个变量 int lRetCode;

  //公司对象的初始化。

  //创建一个新的公司对象 oCompany = new SAPbobsCOM.Company();

  //-------设置连接数据库---------//

  //数据库服务器名(需要与SLD中的“Server Name”一致) oCompany.Server = "SAPB1";

  //数据库类型 oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;

  //数据库用户名和密码 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;

  //系统返回的操作信息代码 lRetCode = oCompany.Connect();

  ///////////////////////////////

  //根据SAP返回代码返回不同的信息,当然也可以直接返回//

  //如果返回代码不是0则说明发生异常 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、数据相关参数,并单击“调用”查看结果。

  注:如果在单击“调用”后返回的错误信息为“-10_ - 找不到映像文件中指定的资源名。”请检查你的Sql服务器名称是否正确。

  发布

  1、方法写完后,右击项目-->发布。

  2、选择【文件系统】发布,选择发布后的文件夹地址,点击【发布】即可。

  3、在发布的文件夹中有如下文件。

  4、打开IIS,建立网站(详情请咨询度娘)。

  5、发布成功后如下图所示,选中网站点击“浏览”查看WebService是否正常。

  注:如出现异常请百度解决。

  文件下载

  1、源码下载。

  2、程序下载。

  通过本文我们将学会如何使用ASP.NET 创建Web service 并使用SAP B1提供的DI API 连接至SAP B1实现系统的登陆,关于Web service 的概念和其他基本操作不再赘述,如果有不清楚的请询问度娘。

  说明:

  SAP B1版本: 9.2 PL06

  开发工具:Microsoft Visual Studio 2010

  开发语言:C#

  .NET版本:4.0

  如果您没有时间跟着步骤操作,可以在文章末尾直接下载文件。

  操作步骤

  创建WebService

  1、打开VS2010,菜单 文件->新建->项目。

  2、选择【ASP.net 空web应用程序】,并修改名称。

  3、右键点击工程,添加->新建项,选择 web服务。根据需求命名服务名称。

  4、打开“.asmx.cs”文件,我们可以看到如下内容,“HelloWorld”是系统给的示例。

  5、单击运行我们可以在浏览器中看到如下内容,先是一个方法目录,单据对应的方法进入具体页面,单击调用,调用该方法,如无需数据参数则会直接返回结果。

  添加引用

  1、右击“引用”-->“添加引用”

  2、选择“COM”,在右上角的搜索栏中输入“DI API” ,选择“SAP Business One DI API Version 9.0”(9.0、9.1、9.2都选择该版本,其他版本请根据实际情况选择),单击“Add”。

  添加方法

  请在 HelloWorld 方法后添加如下方法,当然也可以替换HelloWorld方法。

  注:代码中我已经尽可能的添加注释,如果仍有不明白的可以在底部评论区提问,我会进行答复,同时也方便更多的人阅读,谢谢。

  // 登陆SAP账套 [WebMethod] public string ConnetSAP(string CompanyDB, string UserName, string PassWord)

  { //定义一个新的公司对象 SAPbobsCOM.Company oCompany;

  //定义一个变量 int lRetCode;

  //公司对象的初始化。

  //创建一个新的公司对象 oCompany = new SAPbobsCOM.Company();

  //-------设置连接数据库---------//

  //数据库服务器名(需要与SLD中的“Server Name”一致) oCompany.Server = "SAPB1";

  //数据库类型 oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;

  //数据库用户名和密码 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;

  //系统返回的操作信息代码 lRetCode = oCompany.Connect();

  ///////////////////////////////

  //根据SAP返回代码返回不同的信息,当然也可以直接返回//

  //如果返回代码不是0则说明发生异常 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、数据相关参数,并单击“调用”查看结果。

  注:如果在单击“调用”后返回的错误信息为“-10_ - 找不到映像文件中指定的资源名。”请检查你的Sql服务器名称是否正确。

  发布

  1、方法写完后,右击项目-->发布。

  2、选择【文件系统】发布,选择发布后的文件夹地址,点击【发布】即可。

  3、在发布的文件夹中有如下文件。

  4、打开IIS,建立网站(详情请咨询度娘)。

  5、发布成功后如下图所示,选中网站点击“浏览”查看WebService是否正常。

  作者:BlenderKou

  來源:简书

 



本文链接:SAP B1-开发学习-1 创建Web service并连接SAP B1实现系统登录