I felt the epitome of stupid as I compared my version with a working
resource that was parallel with it.
In my resources I neglected to declare the class "public". I had "class
B extends A" and when I changed to "public class B extends A" the
resources began working exactly as expected. Thanks for all the
suggestions!
--Greg
From: Paul Sandoz [mailto:Paul.Sandoz_at_oracle.com]
Sent: Thursday, December 30, 2010 6:41 AM
To: Adam Walczak
Cc: Hellings, Greg; users_at_jersey.java.net
Subject: Re: [Jersey] Re: Inheritance and Internal Classes
On Dec 28, 2010, at 9:24 AM, Adam Walczak wrote:
@Path("b")
public class B extends A {
}
C.java:
@Path("c")
public class C extends A {
}
try: @Path("/b"), @Path("/c")
instead of: @Path("b"), @Path("c")
The leading "/" is redundant and it does not matter if it is present or
not.
Try enabling tracing and logging:
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-
name>
<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-va
lue>
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param
-name>
<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-va
lue>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.feature.Trace</param-name>
<param-value>true</param-value>
</init-param>
Also check the server logs to see if any warnings/errors are produced on
deployment.
Paul.