[ 
https://issues.apache.org/jira/browse/WINK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12728504#action_12728504
 ] 

Nadav Fischer commented on WINK-11:
-----------------------------------

Just another quick note regarding using INFO over WARNING. 

ASAIK, warnings are errors that don't do any real or immediate damage. 

As far as Wink goes, when a client misbehaves it's obviously not an error of 
the server. Granted, a Wink application may be written incorrectly and not 
expose resources as it should so we might say it's an error of the server, but 
I don't think that should be the main flow of things. Most likely the server 
will be written ok, and the client will be the blame. If this the case, I don't 
think we want the log to fill up with warnings caused by bad clients. 

For cases that a server application is still not stable, the log level can be 
set to INFO, and these messages will pop up.

Anyway, I'm going to resolve this issue, and we can open a new issue for INFO 
vs. WARNING if we want.

> improve error message when no resource can be found
> ---------------------------------------------------
>
>                 Key: WINK-11
>                 URL: https://issues.apache.org/jira/browse/WINK-11
>             Project: Wink
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 0.1
>            Reporter: Mike Rheinheimer
>            Assignee: Nadav Fischer
>
> I have two requests regarding this particular error condition:
> 1)  can we report what class is being searched so a user knows which class 
> they need to fix?
> 2)  can we avoid the use of INFO in this case -- it would fill up the server 
> logs if a misbehaving client came along
> To reproduce the error, just use a resource class with         
> @Consumes(value={"text/xml"})    on the same method annotated with @GET.  The 
> point here of course is not that this is an invalid combination of 
> annotations, but that the error message could be more informative and not go 
> to INFO.
> I can work on this too, but not until Monday 6/29.
> Sample output:
> {noformat}
> Jun 26, 2009 3:12:30 PM 
> org.apache.wink.server.internal.registry.ResourceRegistry 
> filterDispatchMethods
> INFO: Could not find any method supporting consumed media type.
> Jun 26, 2009 3:12:30 PM org.apache.wink.server.internal.RequestProcessor 
> handleRequestWithoutFaultBarrier
> SEVERE: WebApplicationException (415) occured during the handlers chain 
> invocation
> Throwable occurred: javax.ws.rs.WebApplicationException
>       at 
> org.apache.wink.server.internal.registry.ResourceRegistry.filterDispatchMethods(ResourceRegistry.java:385)
>       at 
> org.apache.wink.server.internal.registry.ResourceRegistry.findMethod(ResourceRegistry.java:284)
>       at 
> org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:119)
>       at 
> org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:60)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
>       at 
> org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:87)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
>       at 
> org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:48)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
>       at 
> org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:44)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
>       at 
> org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:35)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>       at 
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:1)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:56)
>       at 
> org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:44)
>       at 
> org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:127)
>       at 
> org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:108)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
>       at java.lang.reflect.Method.invoke(Method.java:599)
>       at 
> org.apache.wink.test.mock.MockServletInvocationTest.invoke(MockServletInvocationTest.java:230)
>       at 
> org.apache.wink.server.SubResourceTest.testGetNoParams(SubResourceTest.java:222)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
>       at java.lang.reflect.Method.invoke(Method.java:599)
>       at junit.framework.TestCase.runTest(TestCase.java:168)
>       at junit.framework.TestCase.runBare(TestCase.java:134)
>       at junit.framework.TestResult$1.protect(TestResult.java:110)
>       at junit.framework.TestResult.runProtected(TestResult.java:128)
>       at junit.framework.TestResult.run(TestResult.java:113)
>       at junit.framework.TestCase.run(TestCase.java:124)
>       at junit.framework.TestSuite.runTest(TestSuite.java:232)
>       at junit.framework.TestSuite.run(TestSuite.java:227)
>       at 
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
>       at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to