2

当我调用 SAP JCo 适配器时,我收到如下错误消息:

调用过程“invokeSAPFunction”导致 java.lang.NoClassDefFoundError:com/sap/mw/jco/JCO$Exception [项目 DemoProject]。

什么会导致它?

function invokeSAPFunction(params) {
var input = {};
input.FunctionName = params.FunctionName || "";
input.Imports = params.Imports || {};
return WL.Server.invokeSAPFunction(input);
}

我将参数作为 json 对象传递,即

 {"FunctionName" : "Example BAPI function ", "Imports" :       {"COMPANYID":"ID"}}

这里的函数名是我在 SAP 系统中创建的 BAPI

<?xml version="1.0" encoding="UTF-8"?>
<wl:adapter name="SAPJCoExample"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:wl="http://www.ibm.com/mfp/integration"   
xmlns:sapjco="http://www.ibm.com/mfp/integration/sap">

<displayName>SAPJCoExample</displayName>
<description>SAPJCoExample</description>
<connectivity>
    <connectionPolicy xsi:type="sapjco:JCOConnectionPolicy" 
        jcoClientClient="800" 
        jcoClientUser="USERNAME"
        jcoClientPasswd="PASSWORD" 
        jcoClientLang="EN" 
        jcoClientAsHost="hostname" 
        jcoClientSysnr="00"
        maxConnections="10" />              
</connectivity>
<procedure name="invokeSAPFunction"/>

4

2 回答 2

1

该错误表明您没有在 MFP 服务器上正确安装 SAP JCO 库。

于 2015-06-12T20:32:57.567 回答
1

就像 Chris Jaun 提到的那样,如果您没有正确设置您的机器以使用 JCo 适配器,您将收到一个错误。确保您当前的设置满足以下条件:

  1. jre 目录应该是您的 java 运行时环境

  2. 您的 jre 必须是 32 位才能与 jco jar 和 dll 一起使用(根据我的经验,我只让适配器与 32 位版本一起使用)

  3. librfc32.dllC:/Windows/System32

  4. sapjco-*.*.*.jar\jre\lib\ext

  5. sapjcorfc.dll\jre\bin

于 2016-02-08T17:26:02.657 回答