So, I found the solution. The following code uses all methods (LOGIN, CREATE, SEARCH, READ, WRITE, UNLINK). The language is PHP. The code contains basic functionalities.
<include>new xmlrpcval("Clark Kent", "string") , 'vat'=>new xmlrpcval("IT00000000000", "string") ); // method WRITE parameters array $args_write = array( 'name'=>new xmlrpcval("Clark Mork", "string") ); // method LOGIN $sock= new xmlrpc_client($url_com); $msg = new xmlrpcmsg('login'); $msg->addParam(new xmlrpcval($db, "string")); $msg->addParam(new xmlrpcval($user, "string")); $msg->addParam(new xmlrpcval($pwd, "string")); $resp = $sock->send($msg); if ($resp->faultCode()) { echo "Error: ".$resp->faultString()."\n"; } else { $val = $resp->value(); $uid = $val->scalarval(); echo "--> login uid is: ".$uid."\n\n"; } // method SEARCH $sock=new xmlrpc_client($url_obj); $msg=new xmlrpcmsg('execute'); $msg->addParam(new xmlrpcval($db, "string")); $msg->addParam(new xmlrpcval($uid, "int")); $msg->addParam(new xmlrpcval($pwd, "string")); $msg->addParam(new xmlrpcval($model, "string")); $msg->addParam(new xmlrpcval("search", "string")); $msg->addParam(new xmlrpcval($args_search, "array")); $resp = $sock->send($msg); if ($resp->faultCode()) { echo 'Error: '.$resp->faultString()."\n"; } else { $val=$resp->value(); $ids=$val->scalarval(); $id=$ids[0]->scalarval(); echo "--> reference id is: ".$id."\n\n"; } // method READ $sock=new xmlrpc_client($url_obj); $msg=new xmlrpcmsg('execute'); $msg->addParam(new xmlrpcval($db, "string")); $msg->addParam(new xmlrpcval($uid, "int")); $msg->addParam(new xmlrpcval($pwd, "string")); $msg->addParam(new xmlrpcval($model, "string")); $msg->addParam(new xmlrpcval("read", "string")); $msg->addParam(new xmlrpcval($id, "string")); $msg->addParam(new xmlrpcval($args_read, "array")); $resp = $sock->send($msg); if ($resp->faultCode()) { echo 'Error: '.$resp->faultString()."\n"; } else { $val=$resp->value(); $ids=$val->scalarval(); $id=$ids[0]->scalarval(); echo "--> data name is: ".$id['name']->scalarval()."\n"; echo " and id is: ".$id['id']->scalarval()."\n\n"; } // method CREATE $sock=new xmlrpc_client($url_obj); $msg=new xmlrpcmsg('execute'); $msg->addParam(new xmlrpcval($db, "string")); $msg->addParam(new xmlrpcval($uid, "int")); $msg->addParam(new xmlrpcval($pwd, "string")); $msg->addParam(new xmlrpcval($model, "string")); $msg->addParam(new xmlrpcval("create", "string")); $msg->addParam(new xmlrpcval($args_create, "struct")); $resp = $sock->send($msg); if ($resp->faultCode()) { echo 'Error: '.$resp->faultString()."\n"; } else { $val=$resp->value(); $id=$val->scalarval(); echo "--> data id is: ".$id."\n\n"; } // method UNLINK $sock=new xmlrpc_client($url_obj); $msg=new xmlrpcmsg('execute'); $msg->addParam(new xmlrpcval($db, "string")); $msg->addParam(new xmlrpcval($uid, "int")); $msg->addParam(new xmlrpcval($pwd, "string")); $msg->addParam(new xmlrpcval($model, "string")); $msg->addParam(new xmlrpcval("unlink", "string")); $msg->addParam(new xmlrpcval($id, "int")); $resp = $sock->send($msg); if ($resp->faultCode()) { echo 'Error: '.$resp->faultString()."\n"; } else { $val=$resp->value(); $toteffected=$val->scalarval(); echo "--> partners deleted are: ".$toteffected."\n\n"; } // method WRITE $id=28; // existing partner id $sock=new xmlrpc_client($url_obj); $msg=new xmlrpcmsg('execute'); $msg->addParam(new xmlrpcval($db, "string")); $msg->addParam(new xmlrpcval($uid, "int")); $msg->addParam(new xmlrpcval($pwd, "string")); $msg->addParam(new xmlrpcval($model, "string")); $msg->addParam(new xmlrpcval("write", "string")); $msg->addParam(new xmlrpcval($id, "int")); $msg->addParam(new xmlrpcval($args_write, "struct")); $resp = $sock->send($msg); if ($resp->faultCode()) { echo 'Error: '.$resp->faultString()."\n"; } else { $val=$resp->value(); $toteffected=$val->scalarval(); echo "--> partners updated are: ".$toteffected."\n\n"; } ?> For me this code works fine. Let me know if you have any doubts. Zipgem -------------------- m2f -------------------- -- http://www.openobject.com/forum/viewtopic.php?p=49127#49127 -------------------- m2f -------------------- _______________________________________________ Tinyerp-users mailing list http://tiny.be/mailman2/listinfo/tinyerp-users
