Webscript - Delete site

cancel
Showing results for 
Search instead for 
Did you mean: 
igomez
Member II

Webscript - Delete site

Hola.

A través de un script en Perl estoy intentando borrar un site pero no paro de obtener fallo de que la petición JSON no es correcta.

Mi petición en la siguiente:


   my $json =  '{"shortName": "'.$site.'"}';
   $h->header ('Content-Type' => 'application/json', Accept=>'application/json');
   my $GetReq = HTTP::Request->new
      (
      'POST',
      "http://$host:$port/share/service/modules/delete-site?alf_ticket=$alfTicket",
      $h,
            $json
      );

Y obtengo el siguiente error:
Error (500) : Error Interno del Servidor
   {
    "status" :
  {
    "code" : 500,
    "name" : "Internal Error",
    "description" : "An error inside the HTTP server which prevented it from fulfilling the request."
  }, 
 
  "message" : "01050031 Failed to execute script 'classpath*:alfresco\/site-webscripts\/org\/alfresco\/modules\/delete-site.post.json.js': 01050030 SyntaxError: syntax error (file:\/home\/isa\/alfresco-40b\/tomcat\/webapps\/share\/WEB-INF\/classes\/alfresco\/site-webscripts\/org\/alfresco\/modules\/delete-site.post.json.js#9(eval)#1)", 
  "exception" : "org.springframework.extensions.webscripts.WebScriptException - 01050031 Failed to execute script 'classpath*:alfresco\/site-webscripts\/org\/alfresco\/modules\/delete-site.post.json.js': 01050030 SyntaxError: syntax error (file:\/home\/isa\/alfresco-40b\/tomcat\/webapps\/share\/WEB-INF\/classes\/alfresco\/site-webscripts\/org\/alfresco\/modules\/delete-site.post.json.js#9(eval)#1)",

En ese .js el código es:

function main()
{
   var req = json.toString();
   var reqJSON = eval('(' + req + ')');
  
   // Call the repo to delete the site
   var conn = remote.connect("alfresco");
   var res = conn.del("/api/sites/" + reqJSON.shortName);
   var resJSON = eval('(' + res + ')');
  
   // Check if we got a positive result
   if (resJSON.success)
   {
      // Yes we did - now remove sitestore model artifacts…
     
      // remove dashboard page instance
      var dashboardURL = "site/" + reqJSON.shortName + "/dashboard";
      var dashboardPage = sitedata.getPage(dashboardURL);
      if (dashboardPage != null)
      {
         dashboardPage.remove();
      }
     
      // remove component instances
      var components = sitedata.findComponents("page", null, dashboardURL, null);
      for (var i=0; i < components.length; i++)
      {
         components[i].remove();
      }
     
      // the client will refresh on success
      model.success = true;
   }
   else
   {
      // Error occured - report back to client with the status and message
      status.setCode(resJSON.status.code, resJSON.message);
      model.success = false;
   }
}

main();

He probado a poner la petición JSON de todas las maneras y cuando no es ese fallo es otro… El caso es que quiero borrar un sitio desde Web Script y no puedo… ¿Alguna idea??

Graciasss  Smiley Happy
3 Replies
cristinamr
Advanced

Re: Webscript - Delete site

Buenas.

Según lo que pones, da el pete en esta linea:

  var resJSON = eval('(' + res + ')');

¿Puedes poner una traza/alert o algo para pintar qué valor tiene ese res?

Me da que te lo trae con la sintaxis incorrecta y de ahí al casque.

Comentanos.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
igomez
Member II

Re: Webscript - Delete site

Hola Cristina, gracias por contestar.

Intenté sacar el contenido de esa línea pero no sé como hacerlo… Intenté con document.write, alert, etc y nada… Yo también creo que le está llegando mal la sintaxis pero con el HttpFox examiné la petición y en teoría es la línea que le tiene que llegar…

Comenté las líneas del eval, quedandome el código asi:

   var req = json.toString();
   status.getCode();
  // var reqJSON = eval('(' + req + ')');
   var reqJSON = req;
   // Call the repo to delete the site
   var conn = remote.connect("alfresco");
   var res = conn.del("/api/sites/" + reqJSON.shortName);
   //var resJSON = eval('(' + res + ')');
   var resJSON = res;
   // Check if we got a positive result
   if (resJSON.success)

Y ahora cuando lo ejecuto me da un 401, no autorizado.

También tengo el mismo problema con otro WebScript, el de editar sitio (share/proxy/alfresco/api/sites/)…

Salgo de un problema y me meto en otro!!

¿Alguna idea de lo que puede estar pasando??

Muchas gracias por la ayuda  Smiley Happy
cristinamr
Advanced

Re: Webscript - Delete site

Buenas.

¿Cómo realizas la autenticación de esewebscript? Ojea este link por si las moscas.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc