<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic récupération de fichier via download url avec httpclient in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/r%C3%A9cup%C3%A9ration-de-fichier-via-download-url-avec-httpclient/m-p/167961#M121450</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Bonjour,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;je dois réaliser un programme en java me permettant de downloader des fichier d'un repo alfresco.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Pour cela je dispose de l'url de téléchargement (&lt;/SPAN&gt;&lt;A href="http://alfresco:8080/alfresco/d/a/workspace/SpacesStore/86d4cf1a-1c66-4628-a934-e7a759556aec/Alfresco_user_guide.odt" rel="nofollow noopener noreferrer"&gt;http://alfresco:8080/alfresco/d/a/workspace/SpacesStore/86d4cf1a-1c66-4628-a934-e7a759556aec/Alfresco_user_guide.odt&lt;/A&gt;&lt;SPAN&gt;) et d'un utilisateur admin (appelons le theadmin/thepassword)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;package com.download;&lt;BR /&gt;&lt;BR /&gt;import java.io.File;&lt;BR /&gt;import java.io.FileOutputStream;&lt;BR /&gt;import java.io.IOException;&lt;BR /&gt;import java.io.InputStream;&lt;BR /&gt;import java.io.OutputStream;&lt;BR /&gt;&lt;BR /&gt;import org.apache.commons.httpclient.Credentials;&lt;BR /&gt;import org.apache.commons.httpclient.HttpClient;&lt;BR /&gt;import org.apache.commons.httpclient.UsernamePasswordCredentials;&lt;BR /&gt;import org.apache.commons.httpclient.auth.AuthScope;&lt;BR /&gt;import org.apache.commons.httpclient.methods.GetMethod;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;public class DownloadAlfrescoFile {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Credentials creds = new UsernamePasswordCredentials("theadmin", "thepassword");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpClient httpClient = new HttpClient();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//httpClient.getParams().setAuthenticationPreemptive(true);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;httpClient.getState().setCredentials(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new AuthScope(AuthScope.ANY_HOST, 8080, AuthScope.ANY_REALM), creds);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetMethod getMethod = new GetMethod(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"&lt;A href="http://alfresco:8080/alfresco/d/a/workspace/SpacesStore/86d4cf1a-1c66-4628-a934-e7a759556aec/Alfresco_user_guide.odt" rel="nofollow noopener noreferrer"&gt;http://alfresco:8080/alfresco/d/a/workspace/SpacesStore/86d4cf1a-1c66-4628-a934-e7a759556aec/Alfresco_user_guide.odt&lt;/A&gt;");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getMethod.setDoAuthentication(true);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// execute the GET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int status = httpClient.executeMethod(getMethod);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// print the status and response&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("get result:" + status);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InputStream instream = getMethod.getResponseBodyAsStream();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int l;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[] tmp = new byte[2048];&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File tmpFile = new File("/tmp/Alfresco_user_guide.odt");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OutputStream os = new FileOutputStream(tmpFile);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while ((l = instream.read(tmp)) != -1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;os.write(tmp, 0, l);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (IOException e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated catch block&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} finally {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// release any connection resources used by the method&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getMethod.releaseConnection();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;ce code me renvoie le status 401 et un fichier vide.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;si je décommante la ligne&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;httpClient.getParams().setAuthenticationPreemptive(true);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;j'obtiens le status 200 mais le fichier contiens la page de login en HTML (et pas le document openoffice esconté)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pour info le repo alfresco est configuré avec des utilisateurs venant d'un LDAP/AD (pas de gestion native de user par alfresco)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;la tentative ne génère aucun log sur le server.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Une idée ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Oct 2010 14:43:44 GMT</pubDate>
    <dc:creator>gballanger</dc:creator>
    <dc:date>2010-10-12T14:43:44Z</dc:date>
    <item>
      <title>récupération de fichier via download url avec httpclient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/r%C3%A9cup%C3%A9ration-de-fichier-via-download-url-avec-httpclient/m-p/167961#M121450</link>
      <description>Bonjour,je dois réaliser un programme en java me permettant de downloader des fichier d'un repo alfresco.Pour cela je dispose de l'url de téléchargement (http://alfresco:8080/alfresco/d/a/workspace/SpacesStore/86d4cf1a-1c66-4628-a934-e7a759556aec/Alfresco_user_guide.odt) et d'un utilisateur admin (a</description>
      <pubDate>Tue, 12 Oct 2010 14:43:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/r%C3%A9cup%C3%A9ration-de-fichier-via-download-url-avec-httpclient/m-p/167961#M121450</guid>
      <dc:creator>gballanger</dc:creator>
      <dc:date>2010-10-12T14:43:44Z</dc:date>
    </item>
    <item>
      <title>Re: récupération de fichier via download url avec httpclient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/r%C3%A9cup%C3%A9ration-de-fichier-via-download-url-avec-httpclient/m-p/167962#M121451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;401 = unauthorized. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;un exemple utilisant httpclient est ici, l'avez vous regardé : &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Portlet_Development" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/Portlet_Development&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;Peut etre qu'un connecteur CMIS serait plus approprié que votre méthode. d'autre part vos input streams / output streams ne sont pas wrappés dans des bufferedreader/writer&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Oct 2010 16:03:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/r%C3%A9cup%C3%A9ration-de-fichier-via-download-url-avec-httpclient/m-p/167962#M121451</guid>
      <dc:creator>rguinot</dc:creator>
      <dc:date>2010-10-14T16:03:59Z</dc:date>
    </item>
  </channel>
</rss>

