首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AllJoyn ErrorReplyBusException

AllJoyn ErrorReplyBusException
EN

Stack Overflow用户
提问于 2016-04-18 21:25:18
回答 1查看 167关注 0票数 0

我试图调用ProxyBusObject接口上的远程AllJoyn方法,但得到了一个ErrorReplyBusException。我似乎在API指南或参考文档上找不到任何关于这方面的信息。任何帮助都将不胜感激。这是代码和错误日志。提前谢谢。

代码语言:javascript
复制
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);
        }
}

错误日志:

代码语言:javascript
复制
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) 
EN

回答 1

Stack Overflow用户

发布于 2016-04-19 17:35:23

错误是因为总线不知道它应该创建哪个ProxyObject,因为它没有连接到任何BusObject

这是因为您需要在调用代理对象之前加入会话。调用

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

并在调用getProxyObject方法和其他方法之前检查加入会话的状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36695329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档