2011-12-13 74 views
1

我正在与SAP系统集成的Java EE项目中工作,我试图运行一个调用RFC的简单独立Java类。我的代码段是连接SAP系统

JCO.Client mConnection = 
    JCO.createClient("dummy", // SAP client 
      "dummy", // userid 
      "dummy", // password 
       "dummy", // language (null for the default language) 
       "dummy", // application server host name 
       "dummy"); // system number 

它引发以下例外“JCO.classInitialize():无法加载中间件层 'com.sap.mw.jco.rfc.MiddlewareRFC' JCO.nativeInit():无法初始化动态链接库sapjcorfc” 唯一的图书馆,我在这一刻将sapjco.jar,我在一些foruns已经看到,我需要这两个库(librfc32.dll,sapjcorfc.dll)才能在独立应用程序中运行此代码。是对的吗 ?我在哪里可以得到这两个图书馆?最后一个是放在与sapjco.jar相同的文件夹中,可以吗?

如果我不能在我的本地计算机上运行此我不得不说我想测试一下:(

+0

您是否成功? – BrOSs

回答

3

取决于你使用哪个版本的JCO每次部署应用程序(你没有说明) ,你需要一个或两个平台特定的本地库,它们与JCo软件包以及一些安装文档捆绑在一起,如果你没有这个,你会得到一个不完整的,可能是非法的软件包(不允许重新分发) 。请转至http://service.sap.com/connectors并获取有效的密码。

+2

值得一提的是,对于此链接,需要具有授权的SAP Service Marketplace用户下载文件。这就是为什么人们在寻找其他地方的图书馆。我从来没有理解过这个SAP决定,但现在看起来如此。 – Jagger

+0

@Jagger这个决定背后的基本原理是,这是一个来自安全POV的关键库,SAP希望严格控制已发布的版本 - 也就是说,停止一些可疑的站点,以免出现旧的,有缺陷的版本。我不同意这项政策,但这是官方原因。 – vwegert