powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / сервис не работает с @WebService
8 сообщений из 8, страница 1 из 1
сервис не работает с @WebService
    #38341694
Intelligent2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть простой класс:

Код: java
1.
2.
3.
4.
5.
6.
7.
public class CompanyInformation {
    public String GetCompanyInformation()
    {
	String sCompanyName="Test";
	return sCompanyName;	
    }
}



При создании на его основе Web сервиса в Eclipse (Glassfish+AXIS2 и Tomcat+AXIS2) все прекрасно работает.

Но стоит добавить аннотацию @WebService:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
шmport javax.jws.WebService;

@WebService(name="CompanyInformation")
public class CompanyInformation {
    public String GetCompanyInformation()
    {
	String sCompanyName="Test";
	return sCompanyName;	
    }
}



При разворачивании сервиса в Glassfish выдает ошибку:
В консоли пишет ошибку:
ERROR The CompanyInformation service, which is not valid, caused Two services cannot have same name. A service with the CompanyInformationService [file:/C:/glassfish4/glassfish/domains/domain1/eclipseApps/TestCompanyWSEAR/TestCompanyWS_war/WEB-INF/services/CompanyInformation/] name already exists in the system.
org.apache.axis2.AxisFault: Two services cannot have same name. A service with the CompanyInformationService [file:/C:/glassfish4/glassfish/domains/domain1/eclipseApps/TestCompanyWSEAR/TestCompanyWS_war/WEB-INF/services/CompanyInformation/] name already exists in the system.
at org.apache.axis2.engine.AxisConfiguration.addToAllServicesMap(AxisConfiguration.java:492)
at org.apache.axis2.description.AxisServiceGroup.addService(AxisServiceGroup.java:110)
...



А в Tomcat не находит класс javax.ws.rs.Produces:
The CompanyInformation service, which is not valid, caused java.lang.NoClassDefFoundError: javax/ws/rs/Produces
at org.apache.axis2.jaxrs.JAXRSUtils.getClassModel(JAXRSUtils.java:53)
....

Из-за чего такое происходит?
...
Рейтинг: 0 / 0
сервис не работает с @WebService
    #38341727
Intelligent2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия Eclipse Kepler 20130614-0229
Glassfish 4.0.
Tomcat 7.0.
...
Рейтинг: 0 / 0
сервис не работает с @WebService
    #38341752
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Вы уже каким-то образом деплоите сервис через Axis2, но не говорите как.
2. Glassfish - полноценный JEE сервер. После добавления аннотации он пытается задеплоить сервис согласно JAX-WS, но обрыгивается, так как вы его уже задеплоили через Axis.
3. Tomcat не является полноценным JEE сервером, поэтому не находит какого-то класса JEE.
...
Рейтинг: 0 / 0
сервис не работает с @WebService
    #38341788
Intelligent2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz1. Вы уже каким-то образом деплоите сервис через Axis2, но не говорите как.
В Eclipse создал 'Dynamic Web Project' в src добавил класс. Правой кнопкой по классу.java и выбираю 'Web Service->Create Web Service'.
Указываю:
Service Implementation: CompanyInformation
Server runtime:GlassFish 4.0
Web service runtime: Apache Axis2
Service project: TestCompanyWS
Service EAR project: TestCompanyWSEAR

2. Glassfish - полноценный JEE сервер. После добавления аннотации он пытается задеплоить сервис согласно JAX-WS, но обрыгивается, так как вы его уже задеплоили через Axis.
Как в проекте указать через что разворачивать?
В Eclipse Service Deployment Configuration можно указать только 3 Web service runtime: Apache Axis, Apache Axis2 и Apache CXF 2.x.
Я правильно понимаю что JAX-WS и AXIS2 - это аналоги, и можно использовать либо то либо другое?

3. Tomcat не является полноценным JEE сервером, поэтому не находит какого-то класса JEE.
Tomcat был установлен только для того, чтобы убедиться что GlassFish тут не причем.
Есть ли проблемы несовместимости конкретных JEE серверов со средами выполнения веб-сервисов?
Какой (из бесплатных) JEE серверов считается лучшим (во-первых по совместимости, и во-вторых по быстродействию)?
Например, мне не удалось задеплоить веб-сервис через CXF на GlassFish (выдает ошибку).
...
Рейтинг: 0 / 0
сервис не работает с @WebService
    #38341815
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Intelligent2010В Eclipse создал 'Dynamic Web Project' в src добавил класс. Правой кнопкой по классу.java и выбираю 'Web Service->Create Web Service'.

То есть - куда-то кликал, не особо вникая, что на самом деле происходит. Суть не в том на что вы кликали. А в том какие конфиги и классы при этом создаются и как они потом собираются в JEE модуль и деплоятся.

Intelligent2010Как в проекте указать через что разворачивать?

У каждой IDE есть интеграции с разными серверами. Eclipse-ом не пользуюсь. Но уверен, что в Run/Debug конфигурации там есть возможноть указать сервер. Вы на продакшн сервер тоже Eclipse-ом деплоить будете?

Intelligent2010В Eclipse Service Deployment Configuration можно указать только 3 Web service runtime: Apache Axis, Apache Axis2 и Apache CXF 2.x.
Я правильно понимаю что JAX-WS и AXIS2 - это аналоги, и можно использовать либо то либо другое?

Понимаете в чем дело. Это инструмент для тех кто знает как работает контретая реализация. И он им помогает делать что-то быстрее. Вам нужно не только научится тыкать кнопки и выбирать настройки в IDE, но и понимать что стоит за каждым шагом.
Поэтому стоит взять мануал для конкретного решения и собрать, задеплоить модуль с минимальным привлечением IDE.

Intelligent2010Tomcat был установлен только для того, чтобы убедиться что GlassFish тут не причем.

Странный способ.

Intelligent2010Есть ли проблемы несовместимости конкретных JEE серверов со средами выполнения веб-сервисов?

Я не знаю что такое "среда выполнения веб-сервисов". Есть сервер. Если это полноценный JEE контейнер, то он имеет реализацию JAX-WS спецификации. Например внутри GlassFish есть Metro. Внутри Apache Geronimo - Axis 2.
Tomcat не реализует JAX-WS, поэтому ему нужно подкладывать библиотеки. Либо использовать библиотеки напрямую без JAX-WS.

Intelligent2010Какой (из бесплатных) JEE серверов считается лучшим (во-первых по совместимости, и во-вторых по быстродействию)?

GlassFish хорош в паре с NetBeans для первоначального обучения. Потому что у Oracle есть масса неплохих туториалов для этой связки. В остальном он тормозной и глючный. JBoss, по последним данным, лучший opensource JEE сервер. Tomcat и Jetty - классные легковесные альтернативы.

Intelligent2010Например, мне не удалось задеплоить веб-сервис через CXF на GlassFish (выдает ошибку).
То что вы не можете исправить ошибку не значит что принципиально не интегрируются.
http://cxf.apache.org/docs/application-server-specific-configuration-guide.html#ApplicationServerSpecificConfigurationGuide-Glassfish
...
Рейтинг: 0 / 0
сервис не работает с @WebService
    #38341867
Intelligent2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczIntelligent2010Как в проекте указать через что разворачивать?

У каждой IDE есть интеграции с разными серверами. Eclipse-ом не пользуюсь. Но уверен, что в Run/Debug конфигурации там есть возможноть указать сервер. Вы на продакшн сервер тоже Eclipse-ом деплоить будете?
Не понял, поясните, что мешает в Eclipse создать .WAR файл и в GlassFish указать его (или через автоматическое развертывание)?

BlazkowiczIntelligent2010В Eclipse Service Deployment Configuration можно указать только 3 Web service runtime: Apache Axis, Apache Axis2 и Apache CXF 2.x.
Я правильно понимаю что JAX-WS и AXIS2 - это аналоги, и можно использовать либо то либо другое?

Понимаете в чем дело. Это инструмент для тех кто знает как работает контретая реализация. И он им помогает делать что-то быстрее. Вам нужно не только научится тыкать кнопки и выбирать настройки в IDE, но и понимать что стоит за каждым шагом.
Поэтому стоит взять мануал для конкретного решения и собрать, задеплоить модуль с минимальным привлечением IDE.
Понятно, переход с .NET простым не получиться. Только вот вопрос, как выбрать конкретное решение для своих задач? Думал что создав простые проекты через IDE смогу найти нужные компоненты и дальше уже заниматься тонкой настройкой под свои нужды. А тут получается что лучший способ выбрать нужный это ручками все проделать.

BlazkowiczIntelligent2010Tomcat был установлен только для того, чтобы убедиться что GlassFish тут не причем.

Странный способ.
Glassfish сначало по туториалу тоже с Eclipse не работал, т.к. по умолчанию версия 'Dynamic web module' была 3.1, а Glassfish 4.0 почему то работает только с 2.5.

BlazkowiczGlassFish хорош в паре с NetBeans для первоначального обучения. Потому что у Oracle есть масса неплохих туториалов для этой связки. В остальном он тормозной и глючный. JBoss, по последним данным, лучший opensource JEE сервер. Tomcat и Jetty - классные легковесные альтернативы.

BlazkowiczТо что вы не можете исправить ошибку не значит что принципиально не интегрируются.
http://cxf.apache.org/docs/application-server-specific-configuration-guide.html#ApplicationServerSpecificConfigurationGuide-Glassfish
Спасибо.
...
Рейтинг: 0 / 0
сервис не работает с @WebService
    #38341952
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Intelligent2010Не понял, поясните, что мешает в Eclipse создать .WAR файл и в GlassFish указать его (или через автоматическое развертывание)?

Мешает то что там несколько разных способов. Вы выбираете случайным образом какой-то один, не понимая что за этим стоит.
Выкиньте Axis2 на помойку и придерживайтесь мануалам по JAX-WS.

Intelligent2010Понятно, переход с .NET простым не получиться.

Теперь понятно. В .NET - одна IDE, один контейнер и один способ сделать Web Service.
В Java - несколько IDE, несколько контейнеров, несколько реализаций Web Service. Гладко интегрировать всё со всем не возможно. Единственная стандартизация это JEE. Но даже в JEE разные реализацию имеют свои нюансы.

Intelligent2010 Только вот вопрос, как выбрать конкретное решение для своих задач? Думал что создав простые проекты через IDE смогу найти нужные компоненты и дальше уже заниматься тонкой настройкой под свои нужды. А тут получается что лучший способ выбрать нужный это ручками все проделать.

Для самообучения лучше взять статью, или туториал по отдельному конкретному инструменту и ручками пройти этот туториал.
Выбор за вами.
...
Рейтинг: 0 / 0
сервис не работает с @WebService
    #38341971
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczТеперь понятно. В .NET - одна IDE, один контейнер и один способ сделать Web Service.
В Java - несколько IDE, несколько контейнеров, несколько реализаций Web Service. Гладко интегрировать всё со всем не возможно. Единственная стандартизация это JEE. Но даже в JEE разные реализацию имеют свои нюансы.



Я чуть больше года назад тоже уходил в Java с .NET.
Основная проблема именно в том что в Java нужно забыть про IDE как инструмент для разработки (в части всяких мастеров и шаблонов проектов).
На первых этапах IDE только как редактор кода - создавать проекты руками через консоль, maven. Сборка и деплой так же через консоль. Отладка в IDE.

Как начнешь понимать что происходит можно уже начинать использовать IDE шире.

Почитай статью (не мою )- http://habrahabr.ru/post/76208/
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / сервис не работает с @WebService
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]