Index: demo/rpcasyncaddclient.cpp
===================================================================
--- demo/rpcasyncaddclient.cpp	(revisão 1490)
+++ demo/rpcasyncaddclient.cpp	(cópia de trabalho)
@@ -32,6 +32,7 @@
 #include <cxxtools/xmlrpc/httpclient.h>
 #include <cxxtools/bin/rpcclient.h>
 #include <cxxtools/json/rpcclient.h>
+#include <cxxtools/json/httpclient.h>
 #include <cxxtools/remoteprocedure.h>
 #include <cxxtools/eventloop.h>
 
@@ -66,19 +67,25 @@
     cxxtools::Arg<std::string> ip(argc, argv, 'i');
     cxxtools::Arg<bool> binary(argc, argv, 'b');
     cxxtools::Arg<bool> json(argc, argv, 'j');
+    cxxtools::Arg<bool> hjson(argc, argv, 'J');
     cxxtools::Arg<unsigned short> port(argc, argv, 'p', binary ? 7003 : json ? 7004 : 7002);
 
     // define a xlmrpc client
-    cxxtools::xmlrpc::HttpClient xmlrpcClient(loop, ip, port, "/myservice");
+    cxxtools::xmlrpc::HttpClient xmlrpcClient(loop, ip, port, "/xmlrpc");
     // and a binary rpc client
     cxxtools::bin::RpcClient binaryClient(loop, ip, port);
-    // and a json rpc client
+
+    // and a tcp json rpc client
     cxxtools::json::RpcClient jsonClient(ip, port);
 
+    // and a http json rpc client
+    cxxtools::json::HttpClient httpJsonClient(ip, port,"/jsonrpc");
+
     // define remote procedure with dobule return value and two double parameter:
     cxxtools::RemoteProcedure<double, double, double> add(
         binary ? static_cast<cxxtools::RemoteClient&>(binaryClient) :
         json   ? static_cast<cxxtools::RemoteClient&>(jsonClient) :
+        hjson  ? static_cast<cxxtools::RemoteClient&>(httpJsonClient) :
                  static_cast<cxxtools::RemoteClient&>(xmlrpcClient), "add");
 
     // connect the callback method to our method
@@ -96,7 +103,7 @@
   }
   catch (const std::exception& e)
   {
-    std::cerr << e.what() << std::endl;
+    std::cerr << "error: " << e.what() << std::endl;
   }
 }
 
Index: demo/rpcaddclient.cpp
===================================================================
--- demo/rpcaddclient.cpp	(revisão 1490)
+++ demo/rpcaddclient.cpp	(cópia de trabalho)
@@ -33,6 +33,7 @@
 #include <cxxtools/xmlrpc/httpclient.h>
 #include <cxxtools/bin/rpcclient.h>
 #include <cxxtools/json/rpcclient.h>
+#include <cxxtools/json/httpclient.h>
 
 ////////////////////////////////////////////////////////////////////////
 // main
@@ -46,20 +47,25 @@
     cxxtools::Arg<std::string> ip(argc, argv, 'i');
     cxxtools::Arg<bool> binary(argc, argv, 'b');
     cxxtools::Arg<bool> json(argc, argv, 'j');
+    cxxtools::Arg<bool> hJson(argc, argv, 'J');
     cxxtools::Arg<unsigned short> port(argc, argv, 'p', binary ? 7003 : json ? 7004 : 7002);
 
     // define a xlmrpc client
-    cxxtools::xmlrpc::HttpClient xmlrpcClient(ip, port, "/myservice");
+    cxxtools::xmlrpc::HttpClient xmlrpcClient(ip, port, "/xmlrpc");
     // and a binary rpc client
     cxxtools::bin::RpcClient binaryClient(ip, port);
-    // and a json rpc client
+    // and a tcp json rpc client
     cxxtools::json::RpcClient jsonClient(ip, port);
 
+    // and a http json rpc client
+    cxxtools::json::HttpClient httpJsonClient(ip, port,"/jsonrpc");
+
     // define remote procedure with dobule return value and a double and a std::string parameter:
     // Note: We send the second parameter as a string since it is converted from the server anyway,
     cxxtools::RemoteProcedure<double, double, std::string> add(
         binary ? static_cast<cxxtools::RemoteClient&>(binaryClient) :
         json   ? static_cast<cxxtools::RemoteClient&>(jsonClient) :
+        hJson  ? static_cast<cxxtools::RemoteClient&>(httpJsonClient) :
                  static_cast<cxxtools::RemoteClient&>(xmlrpcClient), "add");
 
     double sum = 0;
