2017-07-21 2 views
-1

Utilisation d'un ancien service Web AMF à partir d'une application Android native. Je inclus bibliothèque: flex-messagerie-core.jar et flex-messsaging-common.jarComment se connecter au service Web AMF à partir d'Android natif?

Code

l'activité Android:

AMFConnection amfConnection = new AMFConnection(); 
    try{ 
     String url = "http://example.com/cc/messagebroker/amf"; 
     amfConnection.connect(url); 

     Object result = amfConnection.call("exampleService","foo", "bar"); 
     textView.setText(result.toString()); 
    } catch (Exception e) { 
     Log.e(TAG, e.getMessage(),e); 
    } 
    amfConnection.close(); 

la connexion exacte même amf fonctionne en Java SE, peut obtenir une réponse correcte . Mais dans Android Je me exception:

java.lang.NullPointerException 
at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:632) 
at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:347) 
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296) 
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503) 
at flex.messaging.io.amf.client.AMFConnection.generateHttpResponseInfo(AMFConnection.java:633) 
at flex.messaging.io.amf.client.AMFConnection.call(AMFConnection.java:532) 
at com.example.jamesjin.myapplication2.MainActivity.tryAMF(MainActivity.java:42) 
at com.example.jamesjin.myapplication2.MainActivity.onCreate(MainActivity.java:33) 
at android.app.Activity.performCreate(Activity.java:5451) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
at android.app.ActivityThread.access$900(ActivityThread.java:169) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:146) 
at android.app.ActivityThread.main(ActivityThread.java:5487) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
at dalvik.system.NativeStart.main(Native Method) 

J'ai aussi essayé bibliothèque klio-mobile-dataservice, donne la même exception. Alors, comment résoudre cette exception et connecter le service Web AMF à partir de l'application Android native?

Répondre

0

Cette erreur est due au fait que je n'ai pas effectué la demande de service Web dans AsyncTask.