Развертывание веб-службы на Tomcat с OpenEJB - PullRequest
3 голосов
/ 31 мая 2010

Мне нужно развернуть веб-сервис на Tomcat с установленным OpenEJB. Я скомпилировал простой сервис Hello, который просто печатает «Hello» с помощью JAX-WS, и попытался выполнить развертывание на tomcat, но получил ошибки при развертывании: ОШИБКА - Ошибка развертывания веб-службы CXF для сервлета helloservice.endpoint.Hello java.lang.IllegalArgumentException: не удалось найти helloservice сервлета в контексте веб-приложения / helloservice

Пожалуйста, помогите, что здесь сделано неправильно. Достаточно ли tomcat + openejb для развертывания веб-службы?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 31 июля 2010

Для тех, кто хочет работать с веб-сервисами с Tomcat / OpenEJB, вот простой пример, который использует транзакционный веб-сервис EJB для добавления / списка / удаления записей с JPA:

https://svn.apache.org/repos/asf/openejb/tags/openejb-3.1.2/examples/webapps/moviefun/

Пример также включает в себя клиент Perl SOAP :: Lite, который может выполнять чтение и запись в веб-службу.

2 голосов
/ 31 мая 2010

Пожалуйста, помогите, что здесь сделано неправильно. Достаточно ли tomcat + openejb для развертывание веб-службы?

Для веб-разработки достаточно сервлета / движка JSP. Вам не нужен OpenEJB для этого.

«Сервис» - это загруженный термин. Вы имеете в виду "веб-сервис SOAP"? Или "EJB сессионный компонент без сохранения состояния"?

Проверьте ваш web.xml. Похоже, вам не удалось объявить сервлет с именем helloservice. Это должно выглядеть так:

<servlet>
    <servlet-name>helloservlet</servlet-name>
    <servlet-class>com.your.package.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>helloservlet</servlet-name> <!-- names must match -->
    <url-pattern>*.html</url-pattern>
</servlet-mapping>
...