List<Part> partsList = new ArrayList<Part>();
partsList.add(new StringPart("part1", "This is Value 1"));
partsList.add(new StringPart("part2", "This is Value 2"));
partsList.add(new FilePart("data.txt", LocateTestData.getTestData("data.txt")));
Part[] parts = partsList.toArray(new Part[partsList.size()]);
PostMethod method = new PostMethod(TEST_URI);
RequestEntity entity = new MultipartRequestEntity(parts, method.getParams());
method.setRequestEntity(entity);
int status = client.executeMethod(method);
Assert.assertEquals(200, status);
InputStream response = method.getResponseBodyAsStream();
BufferedInputStream in = new BufferedInputStream(response);
String contentType = method.getResponseHeader("content-type").getValue();
System.out.println(contentType);
ByteArrayDataSource ds = new ByteArrayDataSource(in, contentType);
MimeMultipart mimeMultipart = new MimeMultipart(ds);
Assert.assertEquals(mimeMultipart.getCount(), 3);
method.releaseConnection();
}