• RESTful Api, problemas con addKeyword

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #45556  by juanan
 
Hola,

Estamos usando el REST Api en PHP sin problemas hasta que hemos querido hacer uso de la propiedad addKeyword,
El código que estamos usando es el siguiente:
Code: Select all
$url = "http://192.168.1.199:8080/OpenKM/services/rest/property/addKeyword";
$val = array("nodeId" => "d570e064-aff8-4033-861f-8d2b1a99c7da", "keyword" => "clave");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "USER:PASSWORD");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $val);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    'Content-Type: application/json'
));
$res = curl_exec($ch);
echo $res;
if (curl_errno($ch)) {
  return curl_error($ch);
} else {
  return $res;
}
curl_close($ch);
y el resultado de ejecutarlo es el siguiente:

NullPointerException: null

Gracias
 #45582  by jllort
 
Aqui tenemos que diferenciar si el error se produce dentro del OpenKM ( core ) o es algo relacionado con el propio servicio de rest. La parte de la llamara rest parece correcta la url es correcto "XXXX/OpenKM/services/rest/property/addKeyword", el nombre de los parametros también ( nodeId y keyword ) y la llamada es de tipo POST o sea que el problema no lo veo en la parte de rest. Me da la sensación que el problema viene con el UUID que igual on existe o no tiene privilegios ?

Tendría que ver la traza completa del error del lado del servidor $TOMCAT_HOME/logs/catalina.log

Porque no utilizais el SDK de PHP https://docs.openkm.com/kcenter/view/sdk4php-1.1.2/
 #45601  by juanan
 
Hemos probado de esta manera:
Code: Select all
    $url = $this->ser . "/OpenKM/services/rest/property/addKeyword?nodeId=" . "d570e064-aff8-4033-861f-8d2b1a99c7da" . "&keyword=" . "clave";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERPWD,  "USER:PASSWORD");
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Accept: application/json",
        'Content-Type: application/json'
    ));
    $res = curl_exec($ch);
    if (curl_errno($ch)) {
      return curl_error($ch);
    } else {
      return $res;
    }
    curl_close($ch);
y funciona correctamente.

Saludos.

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.