Я обновляю свое приложение до JBoss 7.1.1 и теперь буду использовать RestEasy. У меня возникают проблемы с работой RestEasy. Я получаю сообщение об ошибке HTTP Status 404 - Не удалось найти ресурс для родственника. Я считаю, что это означает, что он не может найти правильную конечную точку. Мое подозрение в том, что есть некоторые проблемы сканирования и регистрации услуг. Я мог ошибаться. Примечание: Я не использую MavenJBoss 7 RestEasy ... услуги не регистрируются?
Вот часть моей web.xml, которая связана с Resteasy:
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Вот образец ресурса я использую:
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/hello")
public class HelloResource {
@POST
@Produces("text/plain")
public String helloResource() {
return "Hello!";
}
}
url Я пробовал: http://localhost:8080/[project-name]/rest/hello
Я думаю, что это все, что я использую для вызова. Если для ответа на мой вопрос требуется дополнительная информация, не стесняйтесь спрашивать. Заранее спасибо за вашу помощь!
P.S. - Как файлы должны быть структурированы в WAR?
[Обновлено web.xml]
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</context-param>
<context-param>
<param-name>resteasy.resources</param-name>
<param-value>com.elderscan.test.RestEasyExample</param-value>
</context-param>
<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.elderscan.test.MyApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Так что это позволяет мне успешно сделать вызов RestEasyExample, но я не могу делать звонки другим других остальных услуг, которые я, очевидно, нужно сделать. Кроме того, это решение добавления всех моих сервисов в xml не является идеальным, поэтому было бы предпочтительным другой вариант.
Я собираюсь добавить некоторые обновления к моей должности, как я сделал некоторые изменения в web.xml, но Ранее у меня был фрагмент, который вы предоставили там, и я бы получил предупреждение о том, что resteasy.scan игнорировался (я думаю, что он не установлен в JBoss 7). Затем он не работает при развертывании. [Добавлено позже] - когда я пытаюсь это сделать на моем новом web.xml, я развертываю просто отлично, но я получаю http-статус 500, и он дает мне ошибку java.lang.RuntimeException: не удается найти публичный конструктор для класса org.jboss.resteasy.core.AsynchronousDispatche, это то, что развертывание использовалось для отказа. –