2016-04-18 2 views
0

Ich versuche, eine Remote-AllJoyn-Methode auf einer ProxyBusObject-Schnittstelle aufzurufen, aber ich erhalte eine ErrorReplyBusException. Ich kann anscheinend keine Informationen darüber im API-Leitfaden oder in der Referenzdokumentation finden. Jede Hilfe würde wirklich geschätzt werden. Hier ist der Code und das Fehlerprotokoll. Danke im Voraus.AllJoyn ErrorReplyBusException

private void connectToClient(String wellKnownName) { 

    mProxyObj = mBus.getProxyBusObject(wellKnownName, OBJECT_PATH, BusAttachment.SESSION_ID_ANY, new Class[]{MyBusInterface.class}); 

    mMyBusInterface = mProxyObj.getInterface(MyBusInterface.class); 
     String test = mMyBusInterface.doSomething(); 
     if (test == null) { 
      Log.i(TAG, "Null"); 
     } else { 
      Log.i(TAG, test); 
     } 
} 

Fehlerprotokoll:

E/AndroidRuntime: FATAL EXCEPTION: main 
               Process: tesi.groupcast, PID: 16789 
               java.lang.reflect.UndeclaredThrowableException 
                at $Proxy3.doSomething(Unknown Source) 
                at tesi.groupcast.MainService.connectToClient(MainService.java:188) 
                at tesi.groupcast.MainService.update(MainService.java:219) 
                at tesi.groupcast.GroupCastApp.notifyObservers(GroupCastApp.java:104) 
                at tesi.groupcast.GroupCastApp.newSeedNode(GroupCastApp.java:115) 
                at tesi.groupcast.MainGUI$1.onEditorAction(MainGUI.java:85) 
                at android.widget.TextView.onEditorAction(TextView.java:4483) 
                at com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:139) 
                at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:304) 
                at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:78) 
                at android.os.Handler.dispatchMessage(Handler.java:102) 
                at android.os.Looper.loop(Looper.java:135) 
                at android.app.ActivityThread.main(ActivityThread.java:5294) 
                at java.lang.reflect.Method.invoke(Native Method) 
                at java.lang.reflect.Method.invoke(Method.java:372) 
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699) 
               Caused by: org.alljoyn.bus.ErrorReplyBusException: org.alljoyn.Bus.Blocked 
                at org.alljoyn.bus.ProxyBusObject.methodCall(Native Method) 
                at org.alljoyn.bus.ProxyBusObject.access$300(ProxyBusObject.java:35) 
                at org.alljoyn.bus.ProxyBusObject$Handler.invoke(ProxyBusObject.java:264) 
                at java.lang.reflect.Proxy.invoke(Proxy.java:397) 
                at $Proxy3.doSomething(Unknown Source)  
                at tesi.groupcast.MainService.connectToClient(MainService.java:188)  
                at tesi.groupcast.MainService.update(MainService.java:219)  
                at tesi.groupcast.GroupCastApp.notifyObservers(GroupCastApp.java:104)  
                at tesi.groupcast.GroupCastApp.newSeedNode(GroupCastApp.java:115)  
                at tesi.groupcast.MainGUI$1.onEditorAction(MainGUI.java:85)  
                at android.widget.TextView.onEditorAction(TextView.java:4483)  
                at com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:139)  
                at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:304)  
                at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:78)  
                at android.os.Handler.dispatchMessage(Handler.java:102)  
                at android.os.Looper.loop(Looper.java:135)  
                at android.app.ActivityThread.main(ActivityThread.java:5294)  
                at java.lang.reflect.Method.invoke(Native Method)  
                at java.lang.reflect.Method.invoke(Method.java:372)  
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)  
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)  
+0

Können Sie versuchen Sie das Hinzufügen mProxyObj.Introspect() vor mMyBusInterface = mProxyObj.getInterface (MyBusInterface.class); – NikofTime

Antwort

1

Der Fehler ist becasue der Bus nicht weiß, was es schaffen ProxyObject sollte becasue es nicht an BusObject

Es ist verbunden, weil u müssen sich registrieren die Sitzung vor dem Aufruf des Proxy-Objekts. Rufen Sie den

status = mBus.joinSession(busName, port, sessionID, sessionOpts, new SessionListener());

und überprüfen Sie den Status der Join-Sitzung vor der getProxyObject Methode und andere Methoden aufrufen.

Verwandte Themen