2014-10-02 3 views
1

У меня есть проект EJB, который содержит EJB службы веб-сервиса Rest. Я упаковываю этот проект EJB.jar в файл EAR вместе с проектом WAR. Каким будет абсолютный путь моего веб-сервиса отдыха?Получение пути REST-ресурса в файле EAR

+0

Это зависит от имени сервера и контекста, в котором используется файл ear/war. – hooknc

+0

@hooknc Не могли бы вы привести пример? Как localhost: 8080 /?/?. Я использую Glassfish 4. – chRyNaN

+0

Я не работал с файлами EAR напрямую. Но из того, что я только что прочитал, «context-root» установлен в настройке EAR. Итак, вот лучший URL-адрес, который я смогу предоставить вам http: // localhost: 8080//. Если вы определите, что ваш контекстный корень пуст или пуст, ваше приложение будет развернуто в корневом контексте, и ваш URL-адрес будет близок к: http: // localhost: 8080/. – hooknc

ответ

2

Моя проблема связана с тем, что файл EJB JAR, содержащий веб-службу EJB REST, упакован в файл EAR вместе с файлом WAR. Я читал, что вы можете использовать JAX-RS в файле JJB JAR, но я не знал, что этот JAR-файл должен быть затем упакован в папку WEB-INF/lib в Dynamic Web Project (WAR-файл). According to this link, не поддерживается для JAX-RS EJB для включения в файл EAR.

+1

действительно, JAX-RS аннотированные корпоративные компоненты ** не поддерживаются ** в отдельном файле ejb-jar, который включен в EAR. –

+0

Это все еще актуально? Я столкнулся с проблемой выборки, ejb и war разворачиваются отдельно. – kerner1000

1

Рад, что вы уже нашли ответ.
С моей точки зрения, выставляя фаны EJB без состояния как услуги restfull быстро, но, как правило, это не лучший подход.

Как правило, лучше создавать остаточные конечные классы в веб-модуле, который обертывает ошибки/исключения, исходящие из служб ejb. Это также хорошее место для выполнения некоторых переводов и т. Д.

Смежные вопросы