<?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 Re: how to use REST API to create a attachment for a task in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167621#M121137</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are trying to upload files as attachments, but using Jersey client, and did not succeed. Could you post an example HTTP POST request that works?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We tried the following with Jersey, that resulted in "Attachment name is required" error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;WebResource serviceWebResource = client.resource(baseUrl + "/runtime/tasks/" + taskId + "/attachments");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ClientResponse res = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; FormDataMultiPart fdmp = new FormDataMultiPart();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("name", "An attachment");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("description", "An attachment description");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("type", "myType");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.bodyPart(new FileDataBodyPart("file", new File("/tmp/Sample.txt"), MediaType.APPLICATION_OCTET_STREAM_TYPE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; res = serviceWebResource.type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, fdmp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return res.getStatus();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then tried using &amp;lt;blockcode&amp;gt;fdmp.bodyPart( new FormDataBodyPart("name", "An attachment"));&amp;lt;/blockcode&amp;gt; instead of FormDataMultiPart.field, but no success: same error. Using this method, the HTTP POST request looked like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: multipart/form-data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="name"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An attachment&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="description"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An attachment description&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="type"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;myType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: application/octet-stream&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; filename="Sample.txt"; modification-date="Fri, 22 Aug 2014 19:36:17 GMT"; size=40; name="file"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SAMPLE-0123456789012345678901234567890&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422–&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you give us some hints?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 Aug 2014 13:00:13 GMT</pubDate>
    <dc:creator>pkonyves</dc:creator>
    <dc:date>2014-08-25T13:00:13Z</dc:date>
    <item>
      <title>how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167614#M121130</link>
      <description>Hi,I used following codes to upload a attachment on a task, but I always got "400: attachment name is required", I really don't know what I missed, pls help.FileBody fb=mew FileBody(new File("d:/test.xlsx"));HttpPost httppost = new HttpPost(url);MultipartEntity reqEntity = new MultipartEntity();reqE</description>
      <pubDate>Tue, 28 Jan 2014 09:20:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167614#M121130</guid>
      <dc:creator>roundmonkey</dc:creator>
      <dc:date>2014-01-28T09:20:39Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167615#M121131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Don't add the file-body as a part with name "name". Rather, use any other field-name, like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;reqEntity.addPart("file", fb);&lt;BR /&gt;reqEntity.addPart("name", "test.xlsx");&lt;BR /&gt;&lt;/CODE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jan 2014 11:48:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167615#M121131</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2014-01-28T11:48:27Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167616#M121132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you for your quickly reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried, but it didn't work, still the same issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pls kindly check my codes as followings:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;File attachFile = new File("D:/test.xlsx");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;respMsg = createAttachmentByTaskId(taskId, attachFile, userName, password);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;FileBody fb = new FileBody(attachFile);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;HttpResponse resp = JsonRequest.multipartRequest(url, fb, true, userName, password);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public static HttpResponse multipartRequest(String url, FileBody fb, boolean auth, String userName, String password)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; HttpResponse resp = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; JSONObject returnResult = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; DefaultHttpClient client = new DefaultHttpClient();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; try {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; HttpPost httppost = new HttpPost(url);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; MultipartEntity reqEntity = new MultipartEntity();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; reqEntity.addPart("file", fb);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; reqEntity.addPart("name", new StringBody("test.xlsx"));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; httppost.setEntity(reqEntity);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; logger.info("post: " + url);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (auth) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; client.getCredentialsProvider().setCredentials(&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new UsernamePasswordCredentials(userName, password));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; AuthCache authCache = new BasicAuthCache();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; BasicScheme basicAuth = new BasicScheme();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; String restServerAddr = PropertiesUtil.getProperty("activiti.rest.server.address");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; int restServerPort = StringUtil.getInt(PropertiesUtil.getProperty("activiti.rest.server.port"));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; authCache.put(new HttpHost(restServerAddr, restServerPort, "http"), basicAuth);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; BasicHttpContext localcontext = new BasicHttpContext();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; localcontext.setAttribute(ClientContext.AUTH_CACHE, authCache);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; httppost.addHeader(HTTP.CONTENT_TYPE, "multipart/form-data; boundary=—————————28617237579832");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; resp = client.execute(httppost, localcontext);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; } else {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; resp = client.execute(httppost);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return resp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; } catch (Exception e) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; logger.error("multipartRequest for [" + url + "] error: " + e.getMessage(), e);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; } finally {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; try {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; client.getConnectionManager().shutdown();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; } catch (Exception ignore) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; return resp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jan 2014 15:03:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167616#M121132</guid>
      <dc:creator>roundmonkey</dc:creator>
      <dc:date>2014-01-28T15:03:38Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167617#M121133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi frederikheremans,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It done, following is my modified codes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;HttpPost httppost = new HttpPost(url);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;reqEntity.addPart("file", fb);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;reqEntity.addPart("name", new StringBody("test.xlsx"));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;httppost.setEntity(reqEntity);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the Key point is I must use new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Seems the MultipartEntity reqEntity = new MultipartEntity() can not be done, that's so weird, anyway, thank you so much.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jan 2014 16:16:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167617#M121133</guid>
      <dc:creator>roundmonkey</dc:creator>
      <dc:date>2014-01-28T16:16:59Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167618#M121134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is it working now, or not?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jan 2014 09:54:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167618#M121134</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2014-01-30T09:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167619#M121135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yeah, it's working by following codes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;reqEntity.addPart("file", fb);&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Feb 2014 01:31:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167619#M121135</guid>
      <dc:creator>roundmonkey</dc:creator>
      <dc:date>2014-02-07T01:31:54Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167620#M121136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are trying to upload files as attachments, but using Jersey client, and did not succeed. Could you post an example HTTP POST request that works?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We tried the following with Jersey, that resulted in "Attachment name is required" error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;WebResource serviceWebResource = client.resource(baseUrl + "/runtime/tasks/" + taskId + "/attachments");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ClientResponse res = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; FormDataMultiPart fdmp = new FormDataMultiPart();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("name", "An attachment");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("description", "An attachment description");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("type", "myType");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.bodyPart(new FileDataBodyPart("file", new File("/tmp/Sample.txt"), MediaType.APPLICATION_OCTET_STREAM_TYPE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; res = serviceWebResource.type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, fdmp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return res.getStatus();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then tried using &amp;lt;blockcode&amp;gt;fdmp.bodyPart( new FormDataBodyPart("name", "An attachment"));&amp;lt;/blockcode&amp;gt; instead of FormDataMultiPart.field, but no success: same error. Using this method, the HTTP POST request looked like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: multipart/form-data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="name"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An attachment&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="description"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An attachment description&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="type"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;myType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: application/octet-stream&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; filename="Sample.txt"; modification-date="Fri, 22 Aug 2014 19:36:17 GMT"; size=40; name="file"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SAMPLE-0123456789012345678901234567890&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422–&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you give us some hints?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Aug 2014 12:59:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167620#M121136</guid>
      <dc:creator>pkonyves</dc:creator>
      <dc:date>2014-08-25T12:59:27Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167621#M121137</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are trying to upload files as attachments, but using Jersey client, and did not succeed. Could you post an example HTTP POST request that works?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We tried the following with Jersey, that resulted in "Attachment name is required" error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;WebResource serviceWebResource = client.resource(baseUrl + "/runtime/tasks/" + taskId + "/attachments");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ClientResponse res = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; FormDataMultiPart fdmp = new FormDataMultiPart();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("name", "An attachment");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("description", "An attachment description");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.field("type", "myType");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fdmp.bodyPart(new FileDataBodyPart("file", new File("/tmp/Sample.txt"), MediaType.APPLICATION_OCTET_STREAM_TYPE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; res = serviceWebResource.type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, fdmp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return res.getStatus();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then tried using &amp;lt;blockcode&amp;gt;fdmp.bodyPart( new FormDataBodyPart("name", "An attachment"));&amp;lt;/blockcode&amp;gt; instead of FormDataMultiPart.field, but no success: same error. Using this method, the HTTP POST request looked like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: multipart/form-data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="name"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An attachment&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="description"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;An attachment description&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: text/plain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; name="type"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;myType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Type: application/octet-stream&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Content-Disposition: form-data; filename="Sample.txt"; modification-date="Fri, 22 Aug 2014 19:36:17 GMT"; size=40; name="file"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SAMPLE-0123456789012345678901234567890&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;–Boundary_9_18250141_1408968937422–&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you give us some hints?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Aug 2014 13:00:13 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167621#M121137</guid>
      <dc:creator>pkonyves</dc:creator>
      <dc:date>2014-08-25T13:00:13Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167622#M121138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm not familiar with Jersey, but this is how it's done in our unit test:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Task task = taskService.newTask();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskService.saveTask(task);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputStream binaryContent = new ByteArrayInputStream("This is binary content".getBytes()); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add name, type and scope&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, String&amp;gt; additionalFields = new HashMap&amp;lt;String, String&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; additionalFields.put("name", "An attachment");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; additionalFields.put("description", "An attachment description");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; additionalFields.put("type", "myType");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Upload a valid BPMN-file using multipart-data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Representation uploadRepresentation = new HttpMultipartRepresentation("value",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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;&amp;nbsp; binaryContent, additionalFields);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientResource client = getAuthenticatedClient(RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK_ATTACHMENT_COLLECTION, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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;&amp;nbsp; task.getId()));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Representation response = client.post(uploadRepresentation);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals(Status.SUCCESS_CREATED, client.getResponse().getStatus());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 30 Aug 2014 17:27:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167622#M121138</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-08-30T17:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: how to use REST API to create a attachment for a task</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167623#M121139</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; I'm converting an image&amp;nbsp; like.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;byte[] blobAsBytes = image.getBytes(1, blobLength);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;InputStream binaryContent = new ByteArrayInputStream(blobAsBytes);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and trying to post using spring RestTemplate&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, Object&amp;gt; bodyMap2 = new HashMap&amp;lt;String, Object&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bodyMap2.put("name","Blob Name");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bodyMap2.put("description", "blobAsBytes");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bodyMap2.put("type", "multipart/form-data");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bodyMap2.put("value", binaryContent);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpEntity&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; requestEntity3 = new HttpEntity&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt;(bodyMap2,header);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; responseEntity=restTemplate.exchange(passTaskIdUrl, HttpMethod.POST, requestEntity3, String.class);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;result: getting exceptions like&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: No serializer found for class java.io.ByteArrayInputStream &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please let me know the mistake i have done here.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2014 11:56:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-use-rest-api-to-create-a-attachment-for-a-task/m-p/167623#M121139</guid>
      <dc:creator>chittaranjan168</dc:creator>
      <dc:date>2014-09-04T11:56:47Z</dc:date>
    </item>
  </channel>
</rss>

