通过jco连接Sap和android
我尝试将ANDROID与SAP(RFC)连接起来。 ……可能吗? 我认为这是可能的,因为这段视频显示了断开连接,但我不知道为什么jco版本(他使用奇怪的类) 我正在使用Windows7(x86)和EclipseIDE 我已将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通过jco连接Sap和android,android,eclipse,connection,sap,jco,Android,Eclipse,Connection,Sap,Jco,我尝试将ANDROID与SAP(RFC)连接起来。 ……可能吗? 我认为这是可能的,因为这段视频显示了断开连接,但我不知道为什么jco版本(他使用奇怪的类) 我正在使用Windows7(x86)和EclipseIDE 我已将sapjco.jar添加到库项目中 将这些文件添加到SYSTEM32文件夹(sapjcorfc.dll,librfc32.dll) 这是我的代码: 包com.example.jco32 导入android.app.Activity;导入com.sap.mw.jco.*;进口
导入android.widget.Toast 公共类MainActivity扩展了活动{ 公共无效ejecutarjco(){ 不幸的是,我遇到了下一个错误: 09-26 02:03:48.934:E/AndroidRuntime(670):致命异常:main 09-26 02:03:48.934:E/AndroidRuntime(670): java.lang.Exception初始化错误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-2602: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.Invokenactive(本机方法)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(本机方法)09-26 02:03:48.934: E/AndroidRuntime(670):由以下原因引起: java.lang.ExceptionInInitializeError: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个 我希望你能帮助我。
这是行不通的。JCo需要一个Android平台无法使用的本机库。您可以编写一些REST/SOAP Web服务,通过JCo连接到SAP,然后您只需向WS发送标准HTTP请求,在那里您可以从SAP获取数据,并将其作为JSON/XML响应返回给Android。我认为sam和你一样,但有一段视频显示了与JCO的联系。不,没有。请阅读标题“JCO喜欢”。哦,谢谢你的评论。不幸的是,我不得不考虑其他选择。
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();
}
});
}
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());
}
}
}