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&#40;"Clark Kent", "string"&#41; ,
&nbsp; 'vat'=>new xmlrpcval&#40;"IT00000000000", "string"&#41;
&#41;;
// method WRITE parameters array
$args_write = array&#40;
&nbsp; 'name'=>new xmlrpcval&#40;"Clark Mork", "string"&#41;
&#41;;

// method LOGIN
$sock= new xmlrpc_client&#40;$url_com&#41;;
$msg = new xmlrpcmsg&#40;'login'&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$db, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$user, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$pwd, "string"&#41;&#41;;
$resp = $sock->send&#40;$msg&#41;;
if &#40;$resp->faultCode&#40;&#41;&#41; &#123;
&nbsp; echo "Error&#58; ".$resp->faultString&#40;&#41;."\n";
&#125; else &#123;
&nbsp; $val = $resp->value&#40;&#41;;
&nbsp; $uid = $val->scalarval&#40;&#41;;
&nbsp; echo "--> login uid is&#58; ".$uid."\n\n";
&#125;

// method SEARCH
$sock=new xmlrpc_client&#40;$url_obj&#41;;
$msg=new xmlrpcmsg&#40;'execute'&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$db, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$uid, "int"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$pwd, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$model, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;"search", "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$args_search, "array"&#41;&#41;;
$resp = $sock->send&#40;$msg&#41;;
if &#40;$resp->faultCode&#40;&#41;&#41; &#123;
&nbsp; echo 'Error&#58; '.$resp->faultString&#40;&#41;."\n";
&#125; else &#123;
&nbsp; $val=$resp->value&#40;&#41;;
&nbsp; $ids=$val->scalarval&#40;&#41;;
&nbsp; $id=$ids&#91;0&#93;->scalarval&#40;&#41;;
&nbsp; echo "--> reference id is&#58; ".$id."\n\n";
&#125;

// method READ
$sock=new xmlrpc_client&#40;$url_obj&#41;;
$msg=new xmlrpcmsg&#40;'execute'&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$db, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$uid, "int"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$pwd, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$model, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;"read", "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$id, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$args_read, "array"&#41;&#41;;
$resp = $sock->send&#40;$msg&#41;;
if &#40;$resp->faultCode&#40;&#41;&#41; &#123;
&nbsp; echo 'Error&#58; '.$resp->faultString&#40;&#41;."\n";
&#125; else &#123;
&nbsp; $val=$resp->value&#40;&#41;;
&nbsp; $ids=$val->scalarval&#40;&#41;;
&nbsp; $id=$ids&#91;0&#93;->scalarval&#40;&#41;;
&nbsp; echo "--> data name is&#58; 
".$id&#91;'name'&#93;->scalarval&#40;&#41;."\n";
&nbsp; echo "&nbsp; &nbsp; &nbsp;and id is&#58; 
".$id&#91;'id'&#93;->scalarval&#40;&#41;."\n\n";
&#125;

// method CREATE
$sock=new xmlrpc_client&#40;$url_obj&#41;;
$msg=new xmlrpcmsg&#40;'execute'&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$db, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$uid, "int"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$pwd, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$model, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;"create", "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$args_create, "struct"&#41;&#41;;
$resp = $sock->send&#40;$msg&#41;;
if &#40;$resp->faultCode&#40;&#41;&#41; &#123;
&nbsp; echo 'Error&#58; '.$resp->faultString&#40;&#41;."\n";
&#125; else &#123;
&nbsp; $val=$resp->value&#40;&#41;;
&nbsp; $id=$val->scalarval&#40;&#41;;
&nbsp; echo "--> data id is&#58; ".$id."\n\n";
&#125;

// method UNLINK
$sock=new xmlrpc_client&#40;$url_obj&#41;;
$msg=new xmlrpcmsg&#40;'execute'&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$db, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$uid, "int"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$pwd, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$model, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;"unlink", "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$id, "int"&#41;&#41;;
$resp = $sock->send&#40;$msg&#41;;
if &#40;$resp->faultCode&#40;&#41;&#41; &#123;
&nbsp; echo 'Error&#58; '.$resp->faultString&#40;&#41;."\n";
&#125; else &#123;
&nbsp; $val=$resp->value&#40;&#41;;
&nbsp; $toteffected=$val->scalarval&#40;&#41;;
&nbsp; echo "--> partners deleted are&#58; ".$toteffected."\n\n";
&#125;

// method WRITE
$id=28; // existing partner id
$sock=new xmlrpc_client&#40;$url_obj&#41;;
$msg=new xmlrpcmsg&#40;'execute'&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$db, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$uid, "int"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$pwd, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$model, "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;"write", "string"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$id, "int"&#41;&#41;;
$msg->addParam&#40;new xmlrpcval&#40;$args_write, "struct"&#41;&#41;;
$resp = $sock->send&#40;$msg&#41;;
if &#40;$resp->faultCode&#40;&#41;&#41; &#123;
&nbsp; echo 'Error&#58; '.$resp->faultString&#40;&#41;."\n";
&#125; else &#123;
&nbsp; $val=$resp->value&#40;&#41;;
&nbsp; $toteffected=$val->scalarval&#40;&#41;;
&nbsp; echo "--> partners updated are&#58; ".$toteffected."\n\n";
&#125;

?>


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

Reply via email to