Hello,

in one of the servlet of my web application I receive a multipart form, from which I have to extract the file input stream and send it via PUT to an existing servlet on an Alfresco repository.

I managed to accomplish this with httpclient 4.1, with the following code fragment:

                        HttpClient httpclient = new DefaultHttpClient();
                        HttpPut httpput = new HttpPut(uploadUrl) ;
InputStreamEntity entity = new InputStreamEntity(is, -1) ;
                        httpput.setEntity(entity);
HttpResponse alfResponse = httpclient.execute(httpput);
                        HttpEntity resEntity = alfResponse.getEntity();
System.out.println("Status Line from alfresco: " + alfResponse.getStatusLine().toString());
                        resEntity.getContent().close() ;

Unfortunately I have to use httpclient 3.1, since I also have to use a third parti library (Remote Alfresco Access by Rivet logic) which needs this version. So I tried to translate the above into the following:

                        HttpClient httpclient = new HttpClient();
                        PutMethod method = new PutMethod(uploadUrl);
RequestEntity entity = new InputStreamRequestEntity(is) ;
                        method.setRequestEntity(entity) ;
                        int statusCode = httpclient.executeMethod(method);
                        is.close() ;
                        System.out.println("Status code: " + statusCode) ;

but in ths case I get a "417" status code, corresponding to the dreadful "Expectation Failed" message (I have seen it a few times during my first attempts, in which I was using 4.0).

There are still a few tests I can try (first and foremost, sniffing the network traffic in the two cases), but in the meantime I thought I could ask if anybody has experience using PutMethod with 3.1, and if there is something clearly wrong with my code...



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to