
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.07.2013, 10:51:57
|
|||
|---|---|---|---|
|
|||
сервис не работает с @WebService |
|||
|
#18+
Есть простой класс: Код: java 1. 2. 3. 4. 5. 6. 7. При создании на его основе Web сервиса в Eclipse (Glassfish+AXIS2 и Tomcat+AXIS2) все прекрасно работает. Но стоит добавить аннотацию @WebService: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. При разворачивании сервиса в 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) .... Из-за чего такое происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2013, 11:06:53
|
|||
|---|---|---|---|
|
|||
сервис не работает с @WebService |
|||
|
#18+
Версия Eclipse Kepler 20130614-0229 Glassfish 4.0. Tomcat 7.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2013, 11:18:23
|
|||
|---|---|---|---|
|
|||
сервис не работает с @WebService |
|||
|
#18+
1. Вы уже каким-то образом деплоите сервис через Axis2, но не говорите как. 2. Glassfish - полноценный JEE сервер. После добавления аннотации он пытается задеплоить сервис согласно JAX-WS, но обрыгивается, так как вы его уже задеплоили через Axis. 3. Tomcat не является полноценным JEE сервером, поэтому не находит какого-то класса JEE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2013, 11:37:03
|
|||
|---|---|---|---|
|
|||
сервис не работает с @WebService |
|||
|
#18+
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 (выдает ошибку). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2013, 11:51:36
|
|||
|---|---|---|---|
|
|||
сервис не работает с @WebService |
|||
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2013, 12:12:30
|
|||
|---|---|---|---|
|
|||
сервис не работает с @WebService |
|||
|
#18+
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 Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2013, 12:48:25
|
|||
|---|---|---|---|
|
|||
сервис не работает с @WebService |
|||
|
#18+
Intelligent2010Не понял, поясните, что мешает в Eclipse создать .WAR файл и в GlassFish указать его (или через автоматическое развертывание)? Мешает то что там несколько разных способов. Вы выбираете случайным образом какой-то один, не понимая что за этим стоит. Выкиньте Axis2 на помойку и придерживайтесь мануалам по JAX-WS. Intelligent2010Понятно, переход с .NET простым не получиться. Теперь понятно. В .NET - одна IDE, один контейнер и один способ сделать Web Service. В Java - несколько IDE, несколько контейнеров, несколько реализаций Web Service. Гладко интегрировать всё со всем не возможно. Единственная стандартизация это JEE. Но даже в JEE разные реализацию имеют свои нюансы. Intelligent2010 Только вот вопрос, как выбрать конкретное решение для своих задач? Думал что создав простые проекты через IDE смогу найти нужные компоненты и дальше уже заниматься тонкой настройкой под свои нужды. А тут получается что лучший способ выбрать нужный это ручками все проделать. Для самообучения лучше взять статью, или туториал по отдельному конкретному инструменту и ручками пройти этот туториал. Выбор за вами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2013, 12:56:12
|
|||
|---|---|---|---|
сервис не работает с @WebService |
|||
|
#18+
BlazkowiczТеперь понятно. В .NET - одна IDE, один контейнер и один способ сделать Web Service. В Java - несколько IDE, несколько контейнеров, несколько реализаций Web Service. Гладко интегрировать всё со всем не возможно. Единственная стандартизация это JEE. Но даже в JEE разные реализацию имеют свои нюансы. Я чуть больше года назад тоже уходил в Java с .NET. Основная проблема именно в том что в Java нужно забыть про IDE как инструмент для разработки (в части всяких мастеров и шаблонов проектов). На первых этапах IDE только как редактор кода - создавать проекты руками через консоль, maven. Сборка и деплой так же через консоль. Отладка в IDE. Как начнешь понимать что происходит можно уже начинать использовать IDE шире. Почитай статью (не мою )- http://habrahabr.ru/post/76208/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2128934]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 283ms |
| total: | 450ms |

| 0 / 0 |
