I am using fileupload to parse attachments.
I used the standard html <input type=”file” … > tag in my form.
Everything works great on IE and Firefox, but when the request comes
from Safari, it fails almost all of the time. It is not always
predictable when it will work but most often it works for the first
attempt after restarting the server's JVM.
The server is running Java 5 in Websphere 5.1. I am using fileupload 1.2
and commons-io 1.3.2
I have attached copies of the http logs from when it works and when it
fails. As you can see, it looks like the client stops sending the http
request because the attempt to read the request times out. On the server
side, I see a SocketException...
This problem occurs regardless of file size and even if Safari is told
to report itself as firefox. This problem has not once occurred with any
of IE 5,6 or 7 or Firefox 1.* and 2.* Firefox on mac works great too.
I get this result with Safari 2 and 3 Beta - including the windows Beta.
I do NOT think this is a problem with FileUpload but I was wondering if
someone had seen this before and could point me towards a solution.
Thanks
Raymond
[12/5/07 6:44:27:024 CST] 16fbd16d HttpRequest d getHeader
Content-Type
multipart/form-data;
boundary=----WebKitFormBoundaryEV+O2YLFqxXhdl1G
[12/5/07 6:44:27:148 CST] 16fbd16d HttpRequest > getInputStream
[12/5/07 6:44:27:148 CST] 16fbd16d HttpRequest d getHeader
Transfer-Encoding
<null>
[12/5/07 6:44:27:148 CST] 16fbd16d HttpRequest d getHeader
Content-Length
142633
[12/5/07 6:44:27:148 CST] 16fbd16d HttpRequest d getContentLength
142633
[12/5/07 6:44:27:148 CST] 16fbd16d ContentLength d init
142633
[12/5/07 6:44:27:148 CST] 16fbd16d HttpRequest d Using
ContentLengthInputStream
[12/5/07 6:44:27:148 CST] 16fbd16d HttpRequest < getInputStream
[12/5/07 6:44:27:148 CST] 16fbd16d ContentLength > read
0
8192
[12/5/07 6:44:27:167 CST] 16fbd16d ContentLength < read
2920
[12/5/07 6:44:27:167 CST] 16fbd16d HttpRequest > getInputStream
[12/5/07 6:44:27:167 CST] 16fbd16d HttpRequest < getInputStream
[12/5/07 6:44:27:167 CST] 16fbd16d ContentLength > read
0
8192
[12/5/07 6:44:27:374 CST] 16fbd16d ContentLength < read
5840
[12/5/07 6:44:27:374 CST] 16fbd16d HttpRequest > getInputStream
[12/5/07 6:44:27:374 CST] 16fbd16d HttpRequest < getInputStream
[12/5/07 6:44:27:374 CST] 16fbd16d ContentLength > read
0
8192
[12/5/07 6:45:01:943 CST] 1e07d16d SessionContex > SessionAlarmListener.alarm
[12/5/07 6:41:22:091 CST] 49d5916d HttpRequest d getHeader
Content-Type
multipart/form-data;
boundary=----WebKitFormBoundarygV+eWXZKy07vZJbq
[12/5/07 6:41:22:646 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:647 CST] 49d5916d HttpRequest d getHeader
Transfer-Encoding
<null>
[12/5/07 6:41:22:647 CST] 49d5916d HttpRequest d getHeader
Content-Length
142633
[12/5/07 6:41:22:647 CST] 49d5916d HttpRequest d getContentLength
142633
[12/5/07 6:41:22:647 CST] 49d5916d ContentLength d init
142633
[12/5/07 6:41:22:647 CST] 49d5916d HttpRequest d Using
ContentLengthInputStream
[12/5/07 6:41:22:647 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:647 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:647 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:647 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:647 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:647 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:647 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:648 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:648 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:648 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:648 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:648 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:648 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:648 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:648 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:648 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:648 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:648 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:648 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:649 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:650 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:650 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:650 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:650 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:651 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:651 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:651 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:651 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:651 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:651 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:651 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:651 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:651 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:651 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:651 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:651 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:651 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:652 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:652 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:652 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:652 CST] 49d5916d ContentLength < read
8192
[12/5/07 6:41:22:652 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:652 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:652 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:652 CST] 49d5916d ContentLength < read
3369
[12/5/07 6:41:22:652 CST] 49d5916d HttpRequest > getInputStream
[12/5/07 6:41:22:652 CST] 49d5916d HttpRequest < getInputStream
[12/5/07 6:41:22:652 CST] 49d5916d ContentLength > read
0
8192
[12/5/07 6:41:22:652 CST] 49d5916d ContentLength < read
-1
[12/5/07 6:41:22:653 CST] 49d5916d HttpInputStre > close
[12/5/07 6:41:22:653 CST] 49d5916d HttpInputStre > finish
[12/5/07 6:41:22:653 CST] 49d5916d HttpInputStre < finish
[12/5/07 6:41:22:653 CST] 49d5916d HttpInputStre < close
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]