ASP.NET 和 SAP 集成
有人有过将 ASP.NET 应用程序与 SAP 集成的经验吗?如果是的话,我想听听这些经历。
Has anyone had an experience integrating ASP.NET application with SAP? If yes, I would like to hear about those experiences.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,我参与过一个项目,其中面向公众的 ASP.NET 网站与 SAP CRM 和 ECC 后端集成。您可以通过多种方式进行集成。
使用 SAP .NET Connector 调用 SAP RFC 或 SOAP 服务。这是 Visual Studio 2003 的 SAP 附加组件。不幸的是,它不适用于 VS 2005 或 2008,可能不适用于 2010,而且据我所知,它不太可能这样做。不过,有一个解决方法。您可以使用 VS 2003 和 SAP .NET 连接器来生成代理类来连接此 SAP,并将它们包装在类库中。然后,任何版本的 Visual Studio 都可以引用该类库。
使用 SAP Web 服务工具创建可从 .NET 项目使用的 Web 服务。 SAP 倾向于将 Web 服务作为首选集成方法。有一个适用于更新版本的 Visual Studio 的 SAP Web 服务资源管理器插件,我相信它允许您浏览和使用现有的 Web 服务,尽管我没有使用它的经验,因为我们的 SAP 版本不够新。
困难的方面是充分了解 SAP 的 BOL(业务对象层)来创建您需要的服务并在环境之间传输它们。理想情况下,您需要联系分析师,至少可以帮助您解决此问题,或者让他们为您创建这些。
另一件需要注意的事情是某些 System32 dll 的存在和版本。我特别认为 librfc32.dll、msvrp71.dll 和 msvcr71.dll。
此外,权限对于 SAP 来说可能有点麻烦,并且会出现一般无用的错误消息。
Yes, I have been involved in a project in which a public facing asp.net website integrates with a SAP CRM and ECC back end. You can integrate in a couple of ways.
Using the SAP .NET Connector to call SAP RFCs or SOAP services. This is a SAP add on for Visual Studio 2003. Unfortunatlely it does not work with VS 2005 or 2008 and probably not 2010 and as far as i'm aware it is unlikely to ever do so. However there is a work around. You can use VS 2003 with the SAP .NET Connector to generate the proxy classes to interface this SAP and wrap these in a class library. The class library can then be referenced by any edition of Visual Studio.
Use the SAP Web Service tool to create web services which you can consume from your .NET project. SAP is leaning towards web services as the preferred method of integration. There is a SAP web service explorer add on for more recent version of Visual Studio which I believe allows you to browse and consume existing web services although I have no experience of using this as our version of SAP is not current enough.
Difficult aspects will be understanding enough of SAP's BOL (Business Object Layer) to create the services you need and transporting them between environments. Ideally you will need access to an analyst to at least help with this or have them create these for you.
Another thing to look out for is the existence and version of certain System32 dlls. I think in particular the librfc32.dll, msvrp71.dll and msvcr71.dll.
Also permissions can be a bit of a pain with SAP along with generic unhelpful error messages.
第三种选择是使用第三方工具,例如:http://www.aconcaguait。 com/components.php 保持以前的集成方法,不使用 Web 服务并与以前(较旧的)R/3 版本兼容。
Visual Studio 2010版本似乎在不久的将来就会推出。
我不确定这些方法的最终速度。有人将它们与 SAP Web Services 进行比较吗?
谢谢,
吉尔
A third option would be to use a 3rd party tool such as this one: http://www.aconcaguait.com/components.php to maintain the previous approach of integration, not using web services and compatible with previous (older) R/3 versions.
The Visual Studio 2010 version seems to be available in the near future.
I'm not sure about final speeds of these approaches. Did anyone compare them with SAP Web Services?
Thanks,
Gil
我非常同意 Andy Rose 提供的解决方案,我使用了第一种方法,通过 Theobold 软件。我们制作了一个 Dot Net windows 服务,它使用 Dot Net 连接器来调用 SAP R3 函数。我们为不同的集成点提供了不同的 R3 功能。在某些函数中,我们从 SAP 获取数据,而在某些函数中,我们将事务传递给 SAP。
因此,我们的点网服务充当了我们的点网应用程序和 SAP 之间的接口。
几年后,当我为另一个 SAP 点网集成项目做案例研究时,我发现通过 SAP 公开的 Web 服务可以做到这一点,而且这比通过点网连接器容易得多。
I am pretty much agree with solution provided by Andy Rose, I had used the first approach by using Dot Net connector by Theobold software. We made a Dot Net windows service which was using Dot Net connector to call SAP R3 functions. We are provided different R3 functions for different points of integration. In some functions we are getting data from SAP, while in some we are passing transactions to SAP.
So its our dot net service which was acting as an interface between our dot net application and SAP.
Few years latter when I was doing a case study for another SAP dot net integration project, that's when I discovered that is possible through web services being exposed by SAP, and which is much easier than doing it through dot net connector.