D-Bus in Java problem

Martin H martin.homuth at googlemail.com
Wed Jul 10 05:57:25 PDT 2013


Hi, I am trying to communicate with a C++ Qt D-Bus daemon with a java
program to call a method, which returns a string. First I checked the
actual availability of the method via D-Bus with the tool D-Feet. So I am
able to call the method with this tool and I receive the result I expect.

The problem is, when I use dbus-java-2.7, I get the following error:

org.freedesktop.dbus.exceptions.DBusExecutionException:
com.sun.proxy.$Proxy2.get_perf_data(org.freedesktop.dbus.UInt64,
org.freedesktop.dbus.UInt64)
    at org.freedesktop.dbus.AbstractConnection.callMethodAsync(Unknown
Source)
    at
de.tuberlin.kbs.performancemonitor.DataThread.retrieveDataFromDBus(DataThread.java:123)
    at de.tuberlin.kbs.performancemonitor.DataThread.run(DataThread.java:59)
    at java.lang.Thread.run(Thread.java:722)

It is kind of obvious, that the "Unknown Source" might be the problem, but
I am hopelessly lost trying to determine the reason for this. For creation
of the connection and the interface I use the following:

UInt64 from = new UInt64(0);
UInt64 to = new UInt64(0);
dBusConnection = DBusConnection.getConnection(DBusConnection.SESSION);
dBusInterface =
dBusConnection.getPeerRemoteObject("de.tuberlin.kbs.performancemonitor",
"/");
if(dBusInterface.isRemote())
    dBusConnection.callMethodAsync(dBusInterface,
"get_perf_data",from,to);

The object IS remote and the method call produces the mentioned error.

What is the reason for "Unknown Source" and how can I fix that?

Thank you in advance!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dbus/attachments/20130710/069360b1/attachment.html>


More information about the dbus mailing list