[
https://issues.jboss.org/browse/AS7-3162?page=com.atlassian.jira.plugin.s...
]
Weinan Li commented on AS7-3162:
--------------------------------
Stuart is correct. Thank you for explaining Stuart :-)
Pavel, have you configured an @Application while you are using the config in web.xml? This
shouldn't be used at same time. You should either use @Application + @ApplicationPath
or use the traditional config method in web.xml.
Mixing them up is neither correct in standalone or container deployment method.
You can refer to org.jboss.as.jaxrs.deployment.JaxrsIntegrationProcessor for more
details:
{code:title=JaxrsIntegrationProcessor.java|borderStyle=solid}
if (resteasy.getScannedApplicationClass() == null) {
//if there is no scanned application we must add a servlet with a name of
//javax.ws.rs.core.Application
} else {
//now there are two options.
//if there is already a servlet defined with an init param
//we don't do anything.
//Otherwise we install our filter
//JAVA-RS seems somewhat confused about the difference between a context
param
//and an init param.
}
{code}
RESTEasy: Unknown servet name javax.ws.rs.core.Application when
javax.ws.rs.core.Application subclass is on classpath
----------------------------------------------------------------------------------------------------------------------
Key: AS7-3162
URL:
https://issues.jboss.org/browse/AS7-3162
Project: Application Server 7
Issue Type: Bug
Components: REST
Affects Versions: 7.1.0.CR1b
Reporter: Pavel Janousek
Assignee: Weinan Li
Priority: Blocker
I've deployment like this:
{code}
@Deployment
public static Archive<?> deploy() {
WebArchive war = ShrinkWrap.create(WebArchive.class, "jaxrsnoap.war");
war.addPackage(HttpRequest.class.getPackage());
war.addClasses(ApplicationTestCase.class, ApplicationInvalid1.class);
war.addAsWebInfResource(
WebXml.get("<servlet-mapping>\n"
+ "
<servlet-name>javax.ws.rs.core.Application</servlet-name>\n"
+ " <url-pattern>/myjaxrs/*</url-pattern>\n"
+ "</servlet-mapping>\n" + "\n"), "web.xml");
return war;
}
{code}
This deployment fails during deploying because of "Context [/jaxrsnoap] startup
failed due to previous errors: java.lang.IllegalArgumentException: Servlet mapping
specifies an unknown servlet name javax.ws.rs.core.Application"
ApplicationInvalid1 is empty subclass of javax.ws.rs.core.Application like:
{code}
public class ApplicationInvalid1 extends Application {
private Set<Class<?>> classes = new HashSet<Class<?>>();
public ApplicationInvalid1() {
}
@Override
public Set<Class<?>> getClasses() {
return classes;
}
}
{code}
There isn't any reference to this class in web.xml or somewhere else. Only class is
placed on classpath. If I remove this class from deployment (= change appropriate line to
"war.addClasses(ApplicationTestCase.class);", everything will be OK.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira