2016-04-18 14 views
0

ProxyBusObjectインターフェイスでリモートAllJoynメソッドを呼び出そうとしていますが、ErrorReplyBusExceptionが発生します。 APIガイドまたはリファレンスドキュメントでこれに関する情報を見つけることができないようです。どんな助けでも本当に感謝しています。ここにコードとエラーログがあります。前もって感謝します。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); 
     } 
} 

エラーログ:

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

あなたは mMyBusInterface = mProxyObj.getInterface(MyBusInterface.class)の前に追加 mProxyObj.Introspect() を追加してみてくださいすることができます。 – NikofTime

答えて

1

エラーがバスbecasueであるが、それはuが参加する必要があるためこれは、ある任意のBusObject

に接続されていないbecasueそれが作成する必要がありProxyObjectどの知りませんプロキシオブジェクトを呼び出す前のセッション

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

を呼び出し、getProxyObject方法や他のメソッドを呼び出す前に、参加するセッションの状態を確認してください。

関連する問題