.net core SAP.NET连接器(SAPNCO)&。网芯

.net core SAP.NET连接器(SAPNCO)&。网芯,.net-core,sap,.net Core,Sap,SAP.NET连接器与.NET核心框架不兼容。 使用.NET Core时,是否有其他方法从SAP检索数据 我已经在nuget包管理器中搜索了一个替代方案,但没有找到。有什么变通方法可以使用吗? 我非常希望从.NET Core的性能中获益,但我还需要能够连接到SAP。我接受您在SAP端有一个基于SOAP的服务,并且您尝试通过.NET Core连接此SAP服务。如果这个senerio是真的,不幸的是,您不能通过“添加服务引用”将SOAP服务连接到.NetCore。但是您可以搜索关于.NetCore

SAP.NET连接器与.NET核心框架不兼容。 使用.NET Core时,是否有其他方法从SAP检索数据

我已经在nuget包管理器中搜索了一个替代方案,但没有找到。有什么变通方法可以使用吗?
我非常希望从.NET Core的性能中获益,但我还需要能够连接到SAP。

我接受您在SAP端有一个基于SOAP的服务,并且您尝试通过.NET Core连接此SAP服务。如果这个senerio是真的,不幸的是,您不能通过“添加服务引用”将SOAP服务连接到.NetCore。但是您可以搜索关于.NetCore Wcf客户端服务的信息

另一种解决方案是使用Rest服务和模拟SOAP协议

这里是示例问题和解决方案


​我已经创建了一个库,可以轻松地从.NETCore进行SAP RFC调用 Libray在Windows、Linux和macOS中受支持。 检查它是否满足您的需求

对于从.NET核心或.NET Framework应用程序进行调用,我已经开源了一个跨平台库

开始吧:

优势:

  • 跨平台:Windows/Linux/macOS
  • 按约定映射输入和输出模型(零配置)
  • 映射函数是使用表达式树动态生成的
  • 具有重试支持的连接池,DI友好
  • 允许通过简单的可模拟接口进行测试驱动的开发
  • 麻省理工学院授权
该库经过全面的单元测试,并已准备好生产

例子
string connectionString=“AppServerHost=MY\u SERVER\u HOST;SystemNumber=00;User=MY\u SAP\u User;Password=SECRET;Client=100;Language=EN;PoolSize=5;Trace=8”;
使用var连接=新SapConnection(connectionString);
connection.Connect();
类函数参数
{
[SapName(“某些字段”)]
公共字符串SomeField{get;set;}
}
使用var someFunction=connection.CreateFunction(“BAPI_SOME_FUNCTION_NAME”);
调用(新的SomeFunctionParameters
{
SomeField=“Some value”,
});
有关更多详细信息,请参阅。

除了的伟大作品外,我还想提及我们的图书馆:

dbosoft YaNco(YetaNetcoconnector):


亮点:

  • 跨平台
  • DI/单元测试友好
  • 基于函数式编程(使用)
  • ABAP回调支持
  • 可从以下网站获得商业支持/咨询服务:
许可证:MIT

.NET版本:.NET 4.7.1及更高版本、.NET Core 2.0及更高版本、NET 5.0

支持的平台:Windows、Linux和MacOS

Nuget:


YaNco使用函数映射SAP RFC RFM的输入/输出,而不是从/映射到。这使您可以灵活地映射数据

示例:

wait context.CallFunction(“BAPI\u COMPANYCODE\u GETLIST”,
输出:f=>f
.MapTable(“公司代码列表”,s=>
来自s.GetField中的代码(“COMP_代码”)
源于s.GetField中的名称(“公司名称”)
选择(代码、名称)))
.比赛(
r=>
{
foreach(r中的var(代码、名称)
{
WriteLine($“{code}\t{name}”);
}
},
l=>Console.WriteLine($“Error:{l.Message}”);

实际上,我在项目(.net Framework 4.5)中使用了nuget包。现在我已经在.NET Core中创建了一个测试应用程序,我似乎无法使用该包,因为它与.NET Core不兼容。我想知道是否还有其他nuget软件包可以用于连接SAP(通过RFC,而不是通过SOAP)…作为一种解决方法,您可以创建自己的nuget软件包,其中包含SAP.Data.Hana.v4.5.dll文件,正如这里所暗示的:Dotnet Build会抱怨框架不匹配,但它可以工作(至少在Windows上)。
dotnet add package SapNwRfc
PM> Install-Package SapNwRfc