Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过jco连接Sap和android_Android_Eclipse_Connection_Sap_Jco - Fatal编程技术网

通过jco连接Sap和android

通过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与SAP(RFC)连接起来。 ……可能吗? 我认为这是可能的,因为这段视频显示了断开连接,但我不知道为什么jco版本(他使用奇怪的类)

我正在使用Windows7(x86)和EclipseIDE

我已将sapjco.jar添加到库项目中

将这些文件添加到SYSTEM32文件夹(sapjcorfc.dlllibrfc32.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扩展了活动{

公共无效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());
   }
}
}