users@jersey.java.net

Re: [Jersey] multipart/form-data error consuming error <was> Re: [Jersey] Variable changes do not happen

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Fri, 11 Jun 2010 20:57:32 +0200

On Jun 11, 2010, at 7:41 AM, Paul Sandoz wrote:
>
> I am not sure what version of Jersey you are using. If you are using
> Jersey 1.2 you can enable tracing and Jersey should log exceptions
> it is mapping to responses. Add the following init-param:
>
> <init-param>
> <param-name>com.sun.jersey.config.feature.Trace"</param-name>
> <param-value>true</param-value>
> </init-param>
>

There is a typo in the above the " character should not be present
which explains why the logging output did not show the trace headers.
Sorry!

Paul.


> If not using Jersey 1.2 then you will need to register an
> ExceptionMapper<WebApplicationException> to log the exception.
>
> Paul.
>
>
>> And thanks for all the effort. I really appreciate your help.
>>
>> Cheers,
>> Daniel
>> <test.log>
>> 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
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>