hi <br>I am launching one service through client and trying to invoke method <br>exposed by service to message bus, but i am getting following error,<br><br>Error: Message did not receive a reply (timeout by message bus)<br><br>Following is code <br><br>server.c<br><br>#include &lt;stdio.h&gt;<br>#include &lt;glib-object.h&gt;<br>#include &lt;glib/gi18n.h&gt;<br>#include &lt;dbus/dbus-glib.h&gt;<br>#include &lt;dbus/dbus-glib-bindings.h&gt;<br>#include "server.h"<br><br>static gboolean my_server_many_args()<br>{<br>&nbsp;&nbsp;&nbsp; if(1)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; FILE* fp;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fp = fopen("nefile","w");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fclose(fp);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf("\nmy_server_many_args\n");&nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return TRUE;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return
 FALSE;<br>}<br><br>#include "my-server-glue.h"<br><br><br><br>static GMainLoop *loop;<br>DBusGConnection *connection;<br>static MyServer *server;<br><br>G_DEFINE_TYPE(MyServer, my_server, G_TYPE_OBJECT);<br><br>/* Class init */<br>static void<br>my_server_class_init (MyServerClass *my_server_class)<br>{<br>&nbsp; //g_type_class_add_private (e_data_book_factory_class, sizeof (EDataBookFactoryPrivate));<br>&nbsp; printf("\ni am class init\n");<br>&nbsp; dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (my_server_class), &amp;dbus_glib__object_info);<br>}<br><br>/* Instance init */<br>static void<br>my_server_init (MyServer *server)<br>{<br>}<br><br><br><br>int<br>main (int argc, char **argv)<br>{<br>&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp; <br>&nbsp; GError *error = NULL;<br>&nbsp; DBusGProxy *proxy;<br>&nbsp; char req_name = {"amol.gajewar"};<br>&nbsp; guint32 request_name_ret,flags;<br><br>&nbsp; g_type_init ();<br><br>&nbsp; loop = g_main_loop_new (NULL,
 FALSE);<br>&nbsp;<br>&nbsp; /* Obtain a connection to the session bus */<br>&nbsp; //connection = dbus_g_bus_get (DBUS_BUS_SESSION, &amp;error);<br>&nbsp; connection = dbus_g_bus_get (getenv("DBUS_STARTER_ADD"),&amp;error);<br>&nbsp;<br>&nbsp; if (connection == NULL)<br>&nbsp; {<br>&nbsp; &nbsp;&nbsp;&nbsp; printf("\nFailed to open connection to bus\n");<br>&nbsp; }&nbsp;&nbsp;&nbsp; <br><br>&nbsp; proxy = dbus_g_proxy_new_for_name (connection,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBUS_SERVICE_DBUS,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 DBUS_PATH_DBUS,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBUS_INTERFACE_DBUS);<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;<br>&nbsp;<br>#if 1<br><br>&nbsp; if(!org_freedesktop_DBus_request_name (proxy, "com.example", 0, &amp;request_name_ret, &amp;error))<br>&nbsp; {<br>&nbsp;&nbsp; g_warning ("There was an error requesting the name: %s", error-&gt;message); g_error_free (error); return FALSE;<br>&nbsp; }<br><br>#endif<br><br><br>&nbsp; server = g_object_new (TYPE_MY_SERVER, NULL);<br><br>&nbsp; dbus_g_connection_register_g_object (connection,"/com/example/MyServer", G_OBJECT (server));<br>&nbsp; g_main_loop_run (loop);<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp; dbus_g_connection_unref (connection);<br>&nbsp; return 0;<br>}<br><br><br>client.c<br><br>#define GETTEXT_PACKAGE<br>#include
 &lt;dbus-1.0/dbus/dbus.h&gt;<br>#include &lt;glib-object.h&gt;<br>#include &lt;glib/gi18n-lib.h&gt;<br>#include &lt;dbus-1.0/dbus/dbus-glib.h&gt;<br>#include &lt;dbus-1.0/dbus/dbus-glib-lowlevel.h&gt;<br>#include "my-server-bindings.h"<br><br><br><br>static GMainLoop *loop;<br><br>int main (int argc, char **argv)<br>{<br>&nbsp; DBusGConnection *connection;<br>&nbsp; DBusGProxy *proxy,*newproxy;&nbsp;&nbsp;&nbsp; <br>&nbsp; DBusMessage *message;&nbsp;&nbsp;&nbsp; <br>&nbsp; DBusError derror;<br><br>&nbsp; GError *error;<br>&nbsp; char **name_list;<br>&nbsp; char **name_list_ptr;<br><br>&nbsp; guint32 request_name_ret;<br><br>&nbsp; g_type_init ();<br><br>&nbsp;// loop = g_main_loop_new (NULL, FALSE);<br><br>&nbsp; error = NULL;<br>&nbsp; connection = dbus_g_bus_get (DBUS_BUS_SESSION,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &amp;error);<br>&nbsp;<br>&nbsp; if (connection == NULL)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_printerr ("Failed to open connection to bus: %s\n",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error-&gt;message);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_error_free (error);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit (1);<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;/* Create a proxy object for the "bus driver" (name "org.freedesktop.DBus") */<br>&nbsp;#if 1 <br>&nbsp; newproxy = dbus_g_proxy_new_for_name (connection,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 DBUS_SERVICE_DBUS,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBUS_PATH_DBUS,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBUS_INTERFACE_DBUS);<br><br>#if 1<br>&nbsp; dbus_error_init (&amp;derror);<br>printf("\nstarting\n");<br>&nbsp; if (!dbus_bus_start_service_by_name (dbus_g_connection_get_connection (connection),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 "com.example",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0, NULL, &amp;derror)) {<br>&nbsp;&nbsp;&nbsp; dbus_set_g_error (error, &amp;derror);<br>&nbsp;&nbsp;&nbsp; dbus_error_free (&amp;derror);<br>&nbsp;&nbsp;&nbsp; printf("\n i am failed 1 \n");<br>&nbsp;&nbsp;&nbsp; g_printerr ("Error: %s\n", error-&gt;message);<br>&nbsp;&nbsp;&nbsp; return FALSE;<br>&nbsp; }<br>printf("\nstarted\n");<br>#endif<br>&nbsp; /* Call ListNames method, wait for reply */<br>&nbsp; error = NULL;<br>&nbsp; if (!dbus_g_proxy_call (newproxy, "ListNames", &amp;error, G_TYPE_INVALID,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G_TYPE_STRV, &amp;name_list, G_TYPE_INVALID))<br>&nbsp;&nbsp;&nbsp;
 {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Just do demonstrate remote exceptions versus regular GError */<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (error-&gt;domain == DBUS_GERROR &amp;&amp; error-&gt;code == DBUS_GERROR_REMOTE_EXCEPTION)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_printerr ("Caught remote method exception %s: %s",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dbus_g_error_get_name (error),<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error-&gt;message);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_printerr ("Error: %s\n", error-&gt;message);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_error_free (error);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit (1);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; /* Print the results */<br>&nbsp;<br>&nbsp; g_print ("Names on the message bus:\n");<br>&nbsp; <br>&nbsp; for (name_list_ptr = name_list; *name_list_ptr;
 name_list_ptr++)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_print ("&nbsp; %s\n", *name_list_ptr);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; g_strfreev (name_list);<br><br>&nbsp; <br>#endif<br>#if 1<br>&nbsp;&nbsp; proxy = dbus_g_proxy_new_for_name_owner (connection,"com.example","/com/example/MyServer","com.example.MyServer",&nbsp;&nbsp; &amp;error);<br><br>&nbsp;&nbsp; if (!proxy) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_printerr ("Error: %s\n", error-&gt;message);<br>&nbsp;&nbsp;&nbsp; printf("i am failed 2&nbsp; ");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return FALSE;<br>&nbsp;&nbsp;&nbsp; }<br><br><br><br> if(!com_example_MyServer_many_args (proxy,&amp;error))<br>&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\ni am failed\n");<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Just do demonstrate remote exceptions versus regular GError */<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (error-&gt;domain == DBUS_GERROR
 &amp;&amp; error-&gt;code == DBUS_GERROR_REMOTE_EXCEPTION)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_printerr ("Caught remote method exception %s: %s",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dbus_g_error_get_name (error),<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error-&gt;message);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_printerr ("Error: %s\n", error-&gt;message);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g_error_free (error);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit (1);<br>&nbsp;&nbsp;&nbsp; }<br><br>#endif<br>&nbsp; <br><br>&nbsp; g_object_unref (newproxy);<br>&nbsp; g_object_unref (proxy);<br>&nbsp; return 0;<br>}<br><br><br>any pointers on this are welcome<br><br><br><br><br><br><p>&#32;
        

        
                <hr size=1></hr> 
Here’s a new way to find what you're looking for - <a href="http://us.rd.yahoo.com/mail/in/yanswers/*http://in.answers.yahoo.com/">Yahoo! Answers</a>