Hi,
So I finally managed to do some logging. Strange enough, the logger seems to put it into the file only after doing the upload request twice.
Anyhow, I attached the file.
Btw, I mentioned smaller pictures are being accepted, but the file was corrupted. Well, it seems like Jersey puts not only the payload into the file, but also the desciptive part of the form-data. In this case I would have:
Content-Disposition: form-data; name="image"; filename="file"
Content-Type: application/octet-stream
Why is that the case? And why do some images fail to upload (at least if I don't parse them manually)?
And thanks for all the effort. I really appreciate your help.
Cheers,
Daniel
Am 09.06.2010 um 06:34 schrieb Paul Sandoz:
> Hi Daniel,
>
> JDK logging is utilized. The logger name is the same name as the class:
>
> com.sun.jersey.api.container.filter.LoggingFilter
>
> so you could configure JDK logging to redirect that output to a file. JDK logging is a bit of a pain to configure though.
>
> What web/app server are you using? usually they log output to a file.
>
>
> Another approach is to declare a ResourceConfig for the application and explicitly register an of LoggingFilter by adding it to the following:
>
> https://jersey.dev.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/core/ResourceConfig.html#getContainerRequestFilters%28%29
>
> https://jersey.dev.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/core/ResourceConfig.html#getContainerResponseFilters%28%29
>
> that instance can be created with it's own logging filter that redirects to a file.
>
> Paul.
>
> On Jun 9, 2010, at 1:15 AM, Muhra Daniel wrote:
>
>> Hi,
>>
>> Sorry for the late reply, but currently I'm very busy.
>> I tried to invoke the logger, but I haven'T found out, how to redirect the output to a file. For the console, the output is currently too much.
>>
>> I also noticed that smaller images (4Kb gif converted to TIF) seem to be acceptable for the server. But still the File representation seems to be invalid.
>> Bigger files trigger an error on the server side, saying the request is syntactically incorrect.
>>
>> But for now, can someone tell me how to redirect the logger output to a file. I invoked it by:
>>
>> <init-param>
>> <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
>> <param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
>> </init-param>
>> <init-param>
>> <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
>> <param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
>> </init-param>
>>
>> Cheers,
>> Daniel
>>
>> Am 07.06.2010 um 13:32 schrieb Paul Sandoz:
>>
>>> Hi Daniel,
>>>
>>> Can you enable server-side logging:
>>>
>>> https://jersey.dev.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/container/filter/LoggingFilter.html
>>>
>>> I would like to see the all of the client request, including the headers.
>>>
>>> What version of Jersey are you using?
>>>
>>> What is the log output from the server side?
>>>
>>> Paul.
>>>
>>> On Jun 7, 2010, at 1:16 AM, Muhra Daniel wrote:
>>>
>>>> Hi,
>>>>
>>>> Currently I'm trying to upload an image to my server. Unfortunately the server denies to accept the request, claiming it's syntactically incorrect.
>>>> A usual request would look like this:
>>>>
>>>>
>>>> --0xKhTmLbOuNdArY
>>>> Content-Disposition: form-data; name="login"
>>>>
>>>> peer
>>>> --0xKhTmLbOuNdArY
>>>> Content-Disposition: form-data; name="password"
>>>>
>>>> reep
>>>> --0xKhTmLbOuNdArY
>>>> Content-Disposition: form-data; name="image"; filename="file"
>>>> Content-Type: application/octet-stream
>>>>
>>>> MM
>>>> $ннн
>>>> ...
>>>> н
>>>>
>>>> --0xKhTmLbOuNdArY--
>>>>
>>>> The service which is invoked is defined as follows:
>>>>
>>>> @POST
>>>> @Consumes( MediaType.MULTIPART_FORM_DATA )
>>>> @Produces(MediaType.TEXT_PLAIN)
>>>> public String uploadImage(@FormParam("login") String login, @FormParam("password") String password, @FormParam("image") File image) {
>>>> ... process file...
>>>> }
>>>>
>>>>
>>>> The question now is, where the error lies. Is my service wrong (most likely), or is the POST request somehow incorrect. The request is made using a framework called ASIHTTPRequest. I also tried to use byte[] instead of file, but that doesn't work either.
>>>> Every help is appreciated.
>>>>
>>>> Cheers,
>>>> Daniel
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>
- application/octet-stream attachment: test.log