hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sam Crawford <samcrawf...@gmail.com>
Subject Re: HttpClient 3.1 PutMethod -> HttpClient 4 HttpPut
Date Wed, 23 Sep 2009 15:31:09 GMT
I'd suggest posting wire logs from both your 3.1 and 4.0 implementations.

Instructions are at http://hc.apache.org/httpclient-3.x/logging.html
and http://hc.apache.org/httpcomponents-client/logging.html
respectively.

The fact that you're getting back "HTTP/1.1 405 Method Not Allowed"
suggests that the server is refusing your PUT request. A wire capture
of both the 3.1 and 4.0 will reveal the true nature of the issue.

Sam



2009/9/23 Mario Becker-Reinhold <mario.1981@gmx.de>:
>
> Hi,
> thanks for the quick response. Now, I'm not getting the error with the
> indirectly referenced classpath
> anymore (I've donwloaded the HttpClient with dependencies instead only the 2
> Jar-files...)
>
> But I still need help in executing the PUT method with HttpClient 4. As you
> wrote I checked the examples for the POST method, which are technically the
> same like the PUT (if I understand it correct). But it doesn't work.
>
> Now matter what, but I get always the following message:
> HTTP/1.1 405 Method Not Allowed
>
> What I'm doing wrong? I have nothing changed on the server-side, so the
> implementation of the PUT is the same. It works fine with HttpClient 3.1 but
> not anymore with version 4... and I don't know, what is going wrong there.
>
> Regards,
> Mario
>
>
>
> olegk wrote:
>>
>> On Fri, 2009-09-18 at 07:48 -0700, Mario Becker-Reinhold wrote:
>>> Hi Folks,
>>>
>>> I'm trying to upgrade some code from HttpClient 3.1 to version 4.
>>>
>>> The old code that does a simple PUT in 3.1 is:
>>>
>>> HttpClient httpClient = new HttpClient();
>>> PutMethod put = new PutMethod(this.getArchiveURL_Put()+ "/"
>>> +fObject.getName());
>>> RequestEntity entity = new InputStreamRequestEntity(new
>>> FileInputStream(fObject)); put.setRequestEntity(entity);
>>> httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
>>> put.setRequestEntity(entity);
>>>
>>> Now, I don't know, how I can put the entity in version 4? There are no
>>> more
>>> classes for RequestEntity and InputStreamRequestEntity. I didn't find any
>>> code examples for Put, only for Get/Post, with this examples I tried to
>>> do
>>> the following:
>>>
>>> HttpClient httpClient = new DefaultHttpClient();
>>> HttpPut put = new HttpPut(this.getArchiveURL_Put()+ "/"
>>> +fObject.getName());
>>> FileBody filebody = new FileBody(fObject);
>>> MultipartEntity entity = new MultipartEntity();
>>> entity.addPart("file", filebody);
>>> put.setRequestEntity(entity);
>>>
>>>
>>> I have removed the jar files of version 3.1 and putted the 2 jar files of
>>> version 4 (also to the build-path of eclipse), but now, with the code
>>> above,
>>> I get the following error message in eclipse:
>>> "The type org.apache.james.mime4j.message.SingleBody cannot be resolved.
>>> It
>>> is indirectly referenced from required .class files"
>>>
>>> Can anyone give me a hint or can tell me, if I am with the code above on
>>> the
>>> right track?
>>>
>>
>> Apparently you do not have mime4j jar on the classpath. The best way to
>> ensure you have all dependencies is by using Maven to manage your
>> project or by downloading the latest binary package with dependencies:
>>
>> http://hc.apache.org/downloads.cgi
>>
>> Here's an example of multipart POST:
>>
>> http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpmime/src/examples/org/apache/http/examples/entity/mime/ClientMultipartFormPost.java
>>
>> PUT is virtually identical to POST from the API standpoint.
>>
>> Oleg
>>
>>
>>
>>> Thanks in advance,
>>> best regards and have a nice weekend!
>>>
>>> Mario
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
>> For additional commands, e-mail: httpclient-users-help@hc.apache.org
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/HttpClient-3.1-PutMethod--%3E-HttpClient-4-HttpPut-tp25510057p25531086.html
> Sent from the HttpClient-User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: httpclient-users-help@hc.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message