cancel
Showing results for 
Search instead for 
Did you mean: 

Problema descarga documentacion Liferay 4.2 Alfresco 3.4

mariajrd
Champ in-the-making
Champ in-the-making
Buenos días, acabo de integrar Liferay 4.2.1 con Alfresco 3.4. El problema es, que desde el portlet Gestor Documental, puedo realizar cualquier operación correctamente, incluso la descarga pero, cuando abro el documento descargado lo que me encuentro siempre es un fichero que ocupa 9.8 y que contiene el login de Alfresco. ¿Podría alguien echarme una mano?

Os pongo el fragmento de código donde se realiza la descarga del documento, a ver si se puede ver algo más claro:

      if(Validator.isNotNull(uuid) && Validator.isNotNull(nameFile))
      {
         String version = request.getParameter("version");

          HttpMethod method = null;
      
         PostMethod post = null;
         String urlVersion;
      
         if(Validator.isNotNull(version)){
            urlVersion = AlfrescoUtil.getUrlAccesoVersionDocumento();
         }else{
            urlVersion = AlfrescoUtil.getUrlAccesoDocumento();
         }         

         String name7 = nameFile;
         String name8 = "";
         String encoding = "ISO-8859-1";
         
         name8 = URLEncoder.encode(name7, encoding);
         urlVersion = urlVersion  + uuid + "/" + name8;
         urlVersion = urlVersion.replaceAll(" ", "_x0020_");

         try {
            //_log.error("inicio - webDav");
            HttpClient client = new HttpClient();
            method = new GetMethod(urlVersion);
            
            client.executeMethod(method);
   
            // Se comprueba si se ha devuelto el formulario de login
            boolean esFormularioLogin = false;
            Header header = method.getResponseHeader("Content-Type");
            if (header.getValue().indexOf("text/html") != -1) {
               InputStream is = method.getResponseBodyAsStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
               
               
                String linea = br.readLine();
                while (linea != null) {
                   if (linea.indexOf("action=\""+AlfrescoUtil.getUrlAccesoLoginAlfrescoDescargaDocumentos()+"\"")!=-1) {
                      esFormularioLogin = true;
                      break;
                   }
                   linea = br.readLine();
                }
            }
            //_log.error("fin - webDav");
            // Se env�a la autenticaci�n y se vuelve a intentar descargar
            if (esFormularioLogin) {
               //_log.error("inicio - primera vez que abro fichero");
               // Se env�a el login
               method.releaseConnection();
   
               post = new PostMethod(AlfrescoUtil.getUrlAccesoLoginAlfresco());
               
               //Se obtiene usuario y contrase�a.
               /*
               ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
               
               String usuario = themeDisplay.getUserId();            
               UserIdMapper usuarioPwd = UserIdMapperLocalServiceUtil.getUserIdMapper(themeDisplay.getUser().getUserId(), "password");         
               String passwordUsuario = Encryptor.decrypt(themeDisplay.getCompany().getKeyObj(), usuarioPwd.getExternalUserId());
               */
               
                 NameValuePair name = new NameValuePair("loginForm:user-name", AlfrescoUtil.getAdministradorUser());
                 NameValuePair password = new NameValuePair("loginForm:user-password", AlfrescoUtil.getAdministradorPassword());
                 NameValuePair language   = new NameValuePair("loginForm:language", "es_ES");
                 NameValuePair boton   = new NameValuePair("loginForm:submit", "Entrar");
                 NameValuePair SUBMIT = new NameValuePair("loginForm_SUBMIT", "1");
                 NameValuePair link = new NameValuePair("loginForm:_link_hidden_", "");
                 post.setRequestBody(
                   new NameValuePair[] {name, password, language, boton,
                         SUBMIT, link});
   
               client.executeMethod(post);
               post.releaseConnection();
               
               // Se vuelve a intentar
               method = new GetMethod(urlVersion);
               
               client.executeMethod(method);
               
               //_log.error("fin - primera vez que abro fichero");
            }
            //_log.error("inicio - sendFile");
            ServletResponseUtil.sendFile(response, name7, method.getResponseBodyAsStream(), mimeType);
            
            //_log.error("fin - sendFile - inicio - release");
            method.releaseConnection();
            //_log.error("fin - release");
         } catch (HttpException e) {
            e.printStackTrace();
         } catch (IOException e) {
            e.printStackTrace();
         } catch (Exception e){
            e.printStackTrace();
         } finally {
           // Release the connection.
            if (method != null)
               method.releaseConnection();
         }
      }

Muchas gracias de  antemano.
1 REPLY 1

mariajrd
Champ in-the-making
Champ in-the-making
El problema parecer que no me estoy logando correctamente en Alfresco pero aún así no consigo la solución. El código fuente de la página jsp de Alfreso es


<input id="loginForm:user-name" name="loginForm:user-name" type="text" value="admin" onkeyup="updateButtonState();" style="width:150px" onchange="updateButtonState();" />
</td>
</tr>

<tr><td>Contraseña:</td>
<td>
<input type="password" id="loginForm:user-password" name="loginForm:user-password" style="width:150px" />
</td>
</tr>

<tr>
<td>
Idioma:
</td>
<td>

<select id="loginForm:language" name="loginForm:language" size="1" style="width:150px" onchange="document.forms['loginForm'].submit(); return true;">   <option value="en_US" selected="selected">English</option>   <option value="de_DE">German</option>   <option value="es_ES">Spanish</option>   <option value="fr_FR">French</option>   <option value="it_IT">Italian</option>   <option value="ja_JP">Japanese</option></select>

</td>
</tr>

<tr>
<td colspan=2 align=right>

<input id="loginForm:submit" name="loginForm:submit" type="submit" value="Iniciar sesión" onclick="if(typeof window.clearFormHiddenParams_loginForm!='undefined'){clearFormHiddenParams_loginForm('loginForm');}" />
</td>
</tr>


Yo creo estas variables:


NameValuePair name = new NameValuePair("loginForm:user-name", AlfrescoUtil.getAdministradorUser());
NameValuePair password = new NameValuePair("loginForm:user-password", AlfrescoUtil.getAdministradorPassword());
NameValuePair language   = new NameValuePair("loginForm:language", "en_US");
NameValuePair boton   = new NameValuePair("loginForm:submit","Iniciar Sesión");
NameValuePair SUBMIT = new NameValuePair("loginForm_SUBMIT", "1");
NameValuePair link = new NameValuePair("loginForm:_link_hidden_", "");

Y no consigo entrar….Smiley Sad

¿Podría alguien ayudarme?
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.