cancel
Showing results for 
Search instead for 
Did you mean: 

Estrazione url documento tramite web services

monocromo
Champ in-the-making
Champ in-the-making
Ciao a tutti, sto cercando di estrarre il link/url necessarrio ad estrarre un documento dal repository di alfresco senza fare l'accesso ad alfresco stesso. Il link si trova nella pagina di dettaglio documento di alfresco share e si trova a lato nella sezione "condividi". Il link in questione è questo:


http://localhost:8080/share/page/site/feniceevo-srl/document-details?nodeRef=workspace://SpacesStore...

L'estrazione di questo link voglio che avvenga dopo una ricerca tramite query di Lucene attraverso i java web services. Questa è la procedura funzionante che ho scritto la quale mi estrae l'id del documento ma non il percorso completo che ho postato sopra.


public String ricerca() throws RepositoryFault, RemoteException
   {
      
      String risultato="";
      AuthenticationUtils.startSession(user, password);
      
      try
      {          
         // Referenza al nodo padre in cui inserire il documento
              Store storeRef = new Store(Constants.WORKSPACE_STORE, "SpacesStore");   
      
         RepositoryServiceSoapBindingStub repositoryService = WebServiceFactory.getRepositoryService();

         String luceneQuery = "TYPE:\"fe:fattura\"";
                           
         Store spacesStore = new Store(Constants.WORKSPACE_STORE,"SpacesStore");
         
         Query query = new Query(Constants.QUERY_LANG_LUCENE,luceneQuery);
         QueryResult queryResult = repositoryService.query(spacesStore, query, false);
   
         ResultSet resultSet = queryResult.getResultSet();
         
         ResultSetRow[] results = resultSet.getRows();
         
         //your custom list
         //List<CustomResultVO> customResultList = new ArrayList<CustomResultVO>();
         //retrieve results from the resultSet
         
         for (ResultSetRow resultRow: results)
         {
            ResultSetRowNode nodeResult = resultRow.getNode();
                     
            System.out.println(nodeResult.getId());
            System.out.println(nodeResult.getType());   
            JOptionPane.showMessageDialog(null,nodeResult.getId(),"Link di collegamento",1);
         }   

      }
        catch(Throwable e)
        {
            System.out.println(e.getMessage());
        }
        finally
        {
            // Fine della sessione
            AuthenticationUtils.endSession();          
        }
      return risultato;
   }

Qualcuno riesce a dirmi come estrarre il percorso completo?
Grazie.
1 REPLY 1

openpj
Elite Collaborator
Elite Collaborator
In questo caso devi utilizzare la download content servlet messa a disposizione da Alfresco:

http://wiki.alfresco.com/wiki/URL_Addressability#DownloadContentServlet

Il formato del link è di questo tipo per la modalità direct:

/alfresco/d/d/workspace/SpacesStore/UUID


oppure in modalità per forzare il download è la modalità attach:

/alfresco/d/a/workspace/SpacesStore/UUID