<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hello,<br><br>I'm noobie with php and that's why I have a lot of echo's and prints. I'm trying to develop some php scripts to call kolab api and I'm not sure what I'm doing wrong. You can find below the functions I've created. <br><br>the auth function is working OK and I'm getting the session_id, but add_domain or list user are not working<br><br><?php<br>function auth($auth_string){<br>        $auth_url = "http://192.168.1.1/kolab-webadmin/api/system.authenticate";<br>        $ch = curl_init($auth_url);<br>        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");<br>        curl_setopt($ch, CURLOPT_POSTFIELDS, $auth_string);<br>        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br>        curl_setopt($ch, CURLOPT_HTTPHEADER, array(<br>            'Content-Type: application/json',<br>            'Content-Length: ' . strlen($auth_string))<br>        );<br>        $result = curl_exec($ch);<br>        if (curl_errno($ch)) {<br>                Propel::log(__CLASS__.'->'.__METHOD__.PHP_EOL.'Se ha producido un error llamando al webservice');<br>                curl_close($ch);<br>                return FALSE;<br>        }<br>        curl_close($ch);<br>        $parsedresponse = json_decode($result, TRUE);<br>        var_dump($parsedresponse);<br>        $session_id = $parsedresponse["result"]["session_token"];<br>        return $session_id;<br>}<br><br>function add_domain($auth_string,$domain){<br>        $auth_url = "http://192.168.1.1/kolab-webadmin/api/domain.add";<br>        $ch = curl_init($auth_url);<br>        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");<br>        curl_setopt($ch, CURLOPT_POST, true);<br>        curl_setopt($ch, CURLOPT_POSTFIELDS, $domain);<br>        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br>        curl_setopt($ch, CURLOPT_HTTPHEADER, array(<br>            'X-Session-Token: ' . $auth_string)<br>        );<br>        $result = curl_exec($ch);<br>        if (curl_errno($ch)) {<br>                Propel::log(__CLASS__.'->'.__METHOD__.PHP_EOL.'Se ha producido un error llamando al webservice');<br>                curl_close($ch);<br>                return FALSE;<br>        }<br>        curl_close($ch);<br>        $parsedresponse = json_decode($result, TRUE);<br>        var_dump($parsedresponse);<br>        $response = $parsedresponse["status"];<br>        return $response;<br>}<br><br><blockquote>$auth = array(<br> "username" => "cn=admin",<br> "password" => "pruebas");<br>$domain = "domain : pruebas.ddol.es";<br>$auth_string = json_encode($auth);<br>$id = auth($auth_string);<br>$info = add_domain($id,$domain);<br>echo "$info\n";<br></blockquote>?><br><br>I'm getting the following exit executing:<br>$ php add_domain.php<br><blockquote>PHP Warning:  Module 'kolabformat' already loaded in Unknown on line 0<br>PHP Notice:  Constant swig_runtime_data_type_pointer already defined in Unknown on line 0<br>PHP Notice:  Constant swig_runtime_data_type_pointer already defined in Unknown on line 0<br>PHP Notice:  Constant swig_runtime_data_type_pointer already defined in Unknown on line 0<br>array(2) {<br>  ["status"]=><br>  string(2) "OK"<br>  ["result"]=><br>  array(4) {<br>    ["user"]=><br>    string(12) "cn=admin"<br>    ["userid"]=><br>    string(12) "cn=admin"<br>    ["domain"]=><br>    string(13) "kolab.ddol.es"<br>    ["session_token"]=><br>    string(26) "obpl65g8tj0isp0eh10dojcdv5"<br>  }<br>}<br>array(2) {<br>  ["status"]=><br>  string(2) "OK"<br>  ["result"]=><br>  array(0) {<br>  }<br>}<br>OK<br></blockquote><br>But nothing is being added the LDAP.<br><br>As I said before user list i not working either:<br><br>function user_info($auth_string,$user){<br>        $auth_url = "http://192.168.1.1/kolab-webadmin/api/user.info";<br>        $auth_url .= '?' . "$user";<br>        echo "$auth_url\n";<br>        print_r(parse_url($auth_url));<br>        $ch = curl_init($auth_url);<br>        #curl_setopt($ch, CURLOPT_URL, $auth_url);<br>        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br>        curl_setopt($ch, CURLOPT_HTTPHEADER, array(<br>            'X-Session-Token: ' . $auth_string)<br>        );<br>        $result = curl_exec($ch);<br>        if (curl_errno($ch)) {<br>                Propel::log(__CLASS__.'->'.__METHOD__.PHP_EOL.'Se ha producido un error llamando al webservice');<br>                curl_close($ch);<br>                return FALSE;<br>        }<br>        $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);<br>        var_dump($status);<br>        curl_close($ch);<br>        $parsedresponse = json_decode($result, TRUE);<br>        var_dump($parsedresponse);<br>        $response = $parsedresponse["status"];<br>        return $response;<br>}<br><br><br>$auth = array(<br> "username" => "user@kolab.ddol.es",<br> "password" => "test");<br><br>$user = "user=user@kolab.ddol.es";<br><br>$auth_string = json_encode($auth);<br>$id = auth($auth_string);<br>$info = user_info($id,$user);<br>echo "$info\n";<br><br>and the exit is:<br><br>$ php list_user.php<br>PHP Warning:  Module 'kolabformat' already loaded in Unknown on line 0<br>PHP Notice:  Constant swig_runtime_data_type_pointer already defined in Unknown on line 0<br>PHP Notice:  Constant swig_runtime_data_type_pointer already defined in Unknown on line 0<br>PHP Notice:  Constant swig_runtime_data_type_pointer already defined in Unknown on line 0<br>array(2) {<br>  ["status"]=><br>  string(2) "OK"<br>  ["result"]=><br>  array(4) {<br>    ["user"]=><br>    string(7) "user"<br>    ["userid"]=><br>    string(44) "uid=user,ou=People,dc=kolab,dc=ddol,dc=es"<br>    ["domain"]=><br>    string(13) "kolab.ddol.es"<br>    ["session_token"]=><br>    string(26) "surkjn7tqnrobeoio65dofo7r0"<br>  }<br>}<br>http://192.168.1.1/kolab-webadmin/api/user.info?user=user@kolab.ddol.es<br>Array<br>(<br>    [scheme] => http<br>    [host] => 192.168.1.1<br>    [path] => /kolab-webadmin/api/user.info<br>    [query] => user=user@kolab.ddol.es<br>)<br>int(200)<br>array(3) {<br>  ["status"]=><br>  string(5) "ERROR"<br>  ["code"]=><br>  int(500)<br>  ["reason"]=><br>  string(14) "Internal error"<br>}<br>ERROR<br><br>I don't know if I'm not using correctly the api nor passing correctly the parameters.<br><br>Thanks for your help.<br><br>Manel<br>                                    </div></body>
</html>