hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: PUT to iis is failing
Date Fri, 28 Nov 2008 20:08:43 GMT
On 28/11/2008, Carlos.Fernandez@usitc.gov <Carlos.Fernandez@usitc.gov> wrote:
>
>  Thanks for the reply!
>
>
>  >> Please don't post multiple times.
>
>
> Sorry for the double-post.  I originally posted via Nabble -- big
>  mistake ;)
>
>
>  >> Can you upgrade to 3.1?
>
>
> Upgraded and the results were the same.
>
>
>  >>You don't show the HttpClient session trace
>
>
> Don't know exactly what you mean by the session trace.  The following is
>  the httpclient.wire.header logs:
>
>  0    2008-11-28 14:38:48,114 [main] DEBUG httpclient.wire.header  - >>
>  "PUT /upload HTTP/1.1[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "User-Agent: EDIS3/3.0.0[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "Accept: */*[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "Pragma: no-cache[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "Cache-Control: no-cache[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "Content-Length: 208[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "Content-Type: application/octet-stream[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "Translate: f[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "Host: 192.168.4.14[\r][\n]"
>  30   2008-11-28 14:38:48,144 [main] DEBUG httpclient.wire.header  - >>
>  "[\r][\n]"
>  40   2008-11-28 14:38:48,154 [main] DEBUG httpclient.wire.header  - <<
>  "HTTP/1.1 403 Forbidden[\r][\n]"
>  40   2008-11-28 14:38:48,154 [main] DEBUG httpclient.wire.header  - <<
>  "HTTP/1.1 403 Forbidden[\r][\n]"
>  40   2008-11-28 14:38:48,154 [main] DEBUG httpclient.wire.header  - <<
>  "Connection: close[\r][\n]"
>  50   2008-11-28 14:38:48,164 [main] DEBUG httpclient.wire.header  - <<
>  "Date: Fri, 28 Nov 2008 19:39:56 GMT[\r][\n]"
>  50   2008-11-28 14:38:48,164 [main] DEBUG httpclient.wire.header  - <<
>  "Server: Microsoft-IIS/6.0[\r][\n]"
>  50   2008-11-28 14:38:48,164 [main] DEBUG httpclient.wire.header  - <<
>  "Content-Type: text/html[\r][\n]"
>  50   2008-11-28 14:38:48,164 [main] DEBUG httpclient.wire.header  - <<
>  "Content-Length: 44[\r][\n]"
>  50   2008-11-28 14:38:48,164 [main] DEBUG httpclient.wire.header  - <<
>  "[\r][\n]"
>

OK, so you are not sending cookies or credentials.

>
>  >>You don't show the HttpClient session trace, but an obvious omission
>  >>from the code is any attempt to set a cookie or login or provide any
>  >>other way to authenticate the upload, so it's not surprising that IIS
>  >>complains.
>
>
> At this point IIS server is configured to allow anonymous access.  I
>  don't provide any credentials via cadaver or BitKinex and they are both
>  successful.  However, I am not certain what they are doing underneath
>  the hood.

BitKinex sends a cookie; maybe that is what IIS wants.
Or maybe it does not like the User-Agent.

I suggest you use a wire analyser such as WireShark and see what's
different between HttpClient and BitKinex.

>  Carlos
>
>
>  -----Original Message-----
>  From: sebb [mailto:sebbaz@gmail.com]
>  Sent: Friday, November 28, 2008 1:56 PM
>  To: HttpClient User Discussion
>  Subject: Re: PUT to iis is failing
>
>  On 28/11/2008, Carlos.Fernandez@usitc.gov <Carlos.Fernandez@usitc.gov>
>  wrote:
>  > I need to PUT files onto an IIS v6 server.
>
>  Please don't post multiple times.
>
>  >  My attempts to PUT to an IIS fail with a 403 response code.
>  >
>  >  Attempts to PUT the same file to the same IIS URI in cadaver or
>  BitKinex
>  >  are successful.
>  >
>  >  I am using IIS 6.  I assume that webDAV is set up properly because
>  >  cadaver and BitKinex are successful.
>  >  I am using HTTP-client v 3.0.1
>
>  This is fairly old.
>
>  Can you upgrade to 3.1?
>
>  >  Java 1.5 on windows XP sp2
>  >
>  >  This is my HTTP put test.
>  >
>  >     @Override
>  >     protected void setUp() throws Exception {
>  >         // TODO Auto-generated method stub
>  >         super.setUp();
>  >         client = new HttpClient();
>  >         host = "192.168.4.14";
>  >         uriString = MessageFormat.format("http://{0}/upload", host);
>  >     }
>  >
>  >     public void testHttpClientPut() throws Exception {
>  >         File pdf = new
>  >
>  File("C:\\Temp\\edis3-dev\\cd\\attachments\\1f6135e5-5ec3-435e-82d3-5395
>  >  7e39fc83\\-95097967_-66622204.pdf");
>  >         PutMethod method = new PutMethod(uriString);
>  >         method.setRequestHeader("Host", host);
>  >         method.setRequestHeader("User-Agent", "EDIS3/3.0.0");
>  >         method.setRequestHeader("Accept", "*/*");
>  >         method.setRequestHeader("Pragma", "no-cache");
>  >         method.setRequestHeader("Cache-Control", "no-cache");
>  >
>  >         method.setRequestHeader("Content-Length",
>  >  String.valueOf(pdf.length()));
>  >         method.setRequestHeader("Content-Type",
>  >  "application/octet-stream");
>  >         method.setRequestHeader("Translate", "f");
>  >
>  >         InputStreamRequestEntity requestEntity
>  >             = new InputStreamRequestEntity(new FileInputStream(pdf));
>  >
>  >         method.setRequestEntity(requestEntity);
>  >
>  >         executeMethod(method);
>  >
>  >     }
>  >
>  >     private void executeMethod(HttpMethod method) throws IOException,
>  >             HttpException {
>  >         try {
>  >             Header[] headers = method.getRequestHeaders();
>  >
>  >             outputHeaders(headers, "REQUEST HEADERS");
>  >
>  >             int result = client.executeMethod(method);
>  >             assertTrue("response was: " + result, 200 <= result &&
>  >  result < 300);
>  >         } finally {
>  >             method.releaseConnection();
>  >         }
>  >     }
>  >
>  >  Here are the HTTP headers for BitKinex
>  >
>  >  <<< PUT /upload/-95097967_-66622204.pdf HTTP/1.1
>  >  <<< Host: 192.168.4.14
>  >  <<< User-Agent: BitKinex/3.0.4
>  >  <<< Accept: */*
>  >  <<< Pragma: no-cache
>  >  <<< Cache-Control: no-cache
>  >  <<< Cookie: ASPSESSIONIDSATRBDAR=GEHBABIDLOEICKBKHHHNPBHA
>  >  <<< Content-Length: 208
>  >  <<< Content-Type: application/octet-stream
>  >  <<< Translate: f
>  >  >>> HTTP/1.1 201 Created
>  >  >>> Date: Fri, 28 Nov 2008 17:30:40 GMT
>  >  >>> Server: Microsoft-IIS/6.0
>  >  >>> Location: http://192.168.4.14/upload/-95097967_-66622204.pdf
>  >  >>> Content-Length: 0
>  >  >>> Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE,
>  PROPFIND,
>  >  PROPPATCH, SEARCH, LOCK, UNLOCK
>  >
>  >  CADAVER SESSION
>  >  >>>$ cadaver http://192.168.4.14/upload
>  >  >>>dav:/upload/> PUT another.test.txt
>  >  >>>Uploading another.test.txt to `/upload/another.test.txt':
>  succeeded.
>  >  >>>dav:/upload/>
>  >
>  >  I can't tell if this is some IIS oddity.  When i request the options
>  >  from the server PUT is not listed (advertised methods are: [OPTIONS,
>  >  TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH,
>  >  MKCOL, LOCK, UNLOCK]).  However, when BitKinex has its PUT
>  successfully
>  >  returned the allowed options header does include PUT.
>  >
>  >  Any ideas?
>
>  403 means forbidden
>
>  You don't show the HttpClient session trace, but an obvious omission
>  from the code is any attempt to set a cookie or login or provide any
>  other way to authenticate the upload, so it's not surprising that IIS
>  complains.
>
>  >  Carlos
>  >
>  >  ---------------------------------------------------------------------
>  >  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
>
>
>
>
>  ---------------------------------------------------------------------
>  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