当我调用SAP JCo Adapter时,我收到如下错误消息:
调用程序&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"/>
答案 0 :(得分:1)
该错误表示您尚未在MFP服务器上正确安装SAP JCO库。
答案 1 :(得分:1)
就像Chris Jaun提到的那样,如果您没有正确设置机器以使用JCo Adapters,这将是一个错误。确保您当前的设置符合以下条件:
jre目录应该是您的Java运行时环境
你的jre必须是32位才能使用jco jar和dll(根据我的经验,我只使用适配器来使用32位版本)
text = """some text
with many lines
some have a P- and some stuff behind it
like this: P- foo
and others don't
"""
import re
print(re.findall("(?<=P-).{1,10}", text))
位于[' and some ', ' foo']
librfc32.dll
位于C:/Windows/System32
sapjco-*.*.*.jar
位于\jre\lib\ext