嘿伙计们,
有没有人有过将 ASP.NET 应用程序与 SAP 集成的经验?如果是,我想听听这些经历。
是的,我参与了一个面向公众的 asp.net 网站与 SAP CRM 和 ECC 后端集成的项目。您可以通过多种方式进行集成。
使用 SAP .NET 连接器调用 SAP RFC 或 SOAP 服务。这是 Visual Studio 2003 的 SAP 插件。不幸的是,它不适用于 VS 2005 或 2008,可能不适用于 2010,据我所知,它不太可能这样做。但是有一个解决方法。您可以将 VS 2003 与 SAP .NET 连接器一起使用来生成代理类来连接这个 SAP 并将它们包装在一个类库中。然后,任何版本的 Visual Studio 都可以引用该类库。
使用 SAP Web Service 工具创建可以从 .NET 项目中使用的 Web 服务。SAP 倾向于将 Web 服务作为首选的集成方法。对于更新版本的 Visual Studio,有一个 SAP Web 服务资源管理器插件,我相信它可以让您浏览和使用现有的 Web 服务,尽管我没有使用它的经验,因为我们的 SAP 版本不够最新。
困难的方面将是充分理解 SAP 的 BOL(业务对象层)来创建您需要的服务并在环境之间传输它们。理想情况下,您将需要访问分析师以至少提供帮助或让他们为您创建这些。要注意的另一件事是某些 System32 dll 的存在和版本。我认为特别是 librfc32.dll、msvrp71.dll 和 msvcr71.dll。
此外,SAP 的权限以及一般无用的错误消息可能会有点麻烦。
第三种选择是使用第三方工具,例如:http ://www.aconcaguait.com/components.php来维护以前的集成方法,不使用 Web 服务并与以前的(较旧的)R/ 兼容3个版本。
Visual Studio 2010 版本似乎在不久的将来可用。
我不确定这些方法的最终速度。有人将它们与 SAP Web 服务进行比较吗?
谢谢,
吉尔
我非常同意 Andy Rose 提供的解决方案,我使用了第一种方法,即使用Theobold 软件的 Dot Net 连接器。我们制作了一个 Dot Net windows 服务,它使用 Dot Net 连接器来调用 SAP R3 函数。我们为不同的集成点提供了不同的 R3 功能。在某些函数中,我们从 SAP 获取数据,而在某些函数中,我们将事务传递给 SAP。
所以它是我们的 dot net 服务,它充当我们的 dot net 应用程序和 SAP 之间的接口。
几年后,当我为另一个 SAP dot net 集成项目进行案例研究时,我发现通过 SAP 公开的 Web 服务是可能的,这比通过 dot net 连接器更容易。