Ну, не то чтобы новый EJB 3.1 не намного лучше старых версий, но я все же предпочитаю использовать Apache CXF для реализации веб-сервисов:
http://cxf.apache.org/
У него есть хороший инструмент wsdl2java (который также можно использовать как плагин maven):
http://cxf.apache.org/docs/wsdl-to-java.html
, который берет ваш WSDL-файл, проверяет его, а затем генерирует очень чистый шаблон Javaкод для реализации вашего веб-сервиса: у вас есть классы JAXB для маршалинга запросов и ответов, очень простой (кодируемый для интерфейса) класс реализации веб-сервиса с методами для каждой операции ws (какие методы вы, конечно, должны реализовать самостоятельно с помощью своей бизнес-логики)) и, возможно, симпатичная заглушка клиента Java, которую другое приложение Java может использовать для легкого доступа к вашему сервису.Даже без клиентской заглушки вы по-прежнему получаете хорошую чистую и стандартную реализацию, которая по сути представляет собой просто классы Java, и для запуска (или тестирования) вашего веб-сервиса не требуется контейнер EJB.