我尝试将 ANDROID 与 SAP (RFC) 连接起来。.....那可能吗 ?我认为这是可能的,因为这个视频显示了断开连接,但我不知道为什么 jco 版本(他使用奇怪的类) https://www.youtube.com/watch?v=hJSkqS-dxkw
我正在使用 Windows 7 (x86) 和 ECLIPSE IDE。
我已将sapjco.jar添加到库项目中,
将这些文件添加到 SYSTEM32 文件夹(sapjcorfc.dll,librfc32.dll)
那是我的代码:
包 com.example.jco32;
导入android.app.Activity;进口 com.sap.mw.jco.*;导入android.os.Bundle;导入 android.view.Menu;导入android.view.MenuItem;导入android.view.View;导入 android.view.View.OnClickListener;导入android.widget.Button;
导入 android.widget.Toast;公共类 MainActivity 扩展 Activity {
JCO.Client client = null;
JCO.Function funcion = null;
JCO.Table t_spfli = null;
IRepository repositorio = null;
IFunctionTemplate ftemplate = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button clickButton = (Button) findViewById(R.id.button1);
clickButton.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ejecutarjco();
}
});
}
公共无效ejecutarjco(){
System.out.println("i entered to hte method");
try {
client = JCO.createClient("100",
"USER",
"PASS",
"EN",
"/H/111.22.52.198/W/TESTING/H/172.25.10.21",
"02");
//abre la conexion
System.out.print("BEFORE CONNECT()");
client.connect();
Toast.makeText(getApplicationContext(),
"connected", Toast.LENGTH_LONG).show();
System.out.print("connected");
} catch (Exception e) {
System.out.println("Error:" +e.getMessage());
}
}
}
不幸的是,我得到了下一个错误:
09-26 02:03:48.934: E/AndroidRuntime(670): 致命异常: main 09-26 02:03:48.934: E/AndroidRuntime(670): java.lang.ExceptionInInitializerError 09-26 02:03:48.934: E/AndroidRuntime(670): 在 com.example.jco32.MainActivity.ejecutarjco(MainActivity.java:46) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 com.example.jco32.MainActivity$1。 onClick(MainActivity.java:34) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 android.view.View.performClick(View.java:3511) 09-26 02:03:48.934: E/ AndroidRuntime(670): 在 android.view.View$PerformClick.run(View.java:14105) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 android.os.Handler.handleCallback(Handler.java :605) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 android.os.Handler.dispatchMessage(Handler.java:92) 09-26 02:03:48.934:E/AndroidRuntime(670): 在 android.os.Looper.loop(Looper.java:137) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 android.app.ActivityThread.main(ActivityThread.java :4424) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 java.lang.reflect.Method.invokeNative(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670): 在java.lang.reflect.Method.invoke(Method.java:511) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java :784) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-26 02:03:48.934: E/AndroidRuntime (670): 在 dalvik.system.NativeStart.main(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670):137) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 android.app.ActivityThread.main(ActivityThread.java:4424) 09-26 02:03:48.934: E/AndroidRuntime(670): 在java.lang.reflect.Method.invokeNative(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670): at java.lang.reflect.Method.invoke(Method.java:511) 09-26 02 :03:48.934: E/AndroidRuntime(670): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-26 02:03:48.934: E/AndroidRuntime(670): 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-26 02:03:48.934: E/AndroidRuntime(670): at dalvik.system.NativeStart.main(Native Method) 09-26 02 :03:48.934: E/AndroidRuntime(670):137) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 android.app.ActivityThread.main(ActivityThread.java:4424) 09-26 02:03:48.934: E/AndroidRuntime(670): 在java.lang.reflect.Method.invokeNative(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670): at java.lang.reflect.Method.invoke(Method.java:511) 09-26 02 :03:48.934: E/AndroidRuntime(670): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-26 02:03:48.934: E/AndroidRuntime(670): 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-26 02:03:48.934: E/AndroidRuntime(670): at dalvik.system.NativeStart.main(Native Method) 09-26 02 :03:48.934: E/AndroidRuntime(670):48.934: E/AndroidRuntime(670): 在 java.lang.reflect.Method.invokeNative(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 java.lang.reflect.Method.invoke( Method.java:511) 09-26 02:03:48.934: E/AndroidRuntime(670): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-26 02:03: 48.934: E/AndroidRuntime(670): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 dalvik.system.NativeStart .main(本机方法)09-26 02:03:48.934:E/AndroidRuntime(670):48.934: E/AndroidRuntime(670): 在 java.lang.reflect.Method.invokeNative(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 java.lang.reflect.Method.invoke( Method.java:511) 09-26 02:03:48.934: E/AndroidRuntime(670): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-26 02:03: 48.934: E/AndroidRuntime(670): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-26 02:03:48.934: E/AndroidRuntime(670): 在 dalvik.system.NativeStart .main(本机方法)09-26 02:03:48.934:E/AndroidRuntime(670):android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-26 02:03:48.934: E/AndroidRuntime(670): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java :551) 09-26 02:03:48.934: E/AndroidRuntime(670): at dalvik.system.NativeStart.main(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670):android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-26 02:03:48.934: E/AndroidRuntime(670): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java :551) 09-26 02:03:48.934: E/AndroidRuntime(670): at dalvik.system.NativeStart.main(Native Method) 09-26 02:03:48.934: E/AndroidRuntime(670):引起:java.lang.ExceptionInInitializerError: JCO.classInitialize(): 无法加载中间件层 'com.sap.mw.jco.rfc.MiddlewareRFC' 09-26 02:03:48.934: E/AndroidRuntime(670): null 09-26 02:03:48.934: E/AndroidRuntime(670): 在 com.sap.mw.jco.JCO.(JCO.java:776) 09-26 02:03:48.934: E/AndroidRuntime(670): ... 13 更多
我希望你的帮助。问候