[ 
https://issues.apache.org/jira/browse/WINK-11?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Dillon updated WINK-11:
-----------------------------

    Description: 
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}

  was:
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:

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)



> 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