And if you have access to the server logs, that's also often very
useful.
-- Ken
On Sep 23, 2009, at 8:31am, Sam Crawford wrote:
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 <[email protected]>:
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: [email protected]
For additional commands, e-mail: [email protected]
--
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: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--------------------------
Ken Krugler
TransPac Software, Inc.
<http://www.transpac.com>
+1 530-210-6378
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]