
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.11.2012, 20:46:41
|
|||
|---|---|---|---|
проблемы с базой данных при вызове из веб сервиса |
|||
|
#18+
Всем привет! Суть задачи и проблемы, возникшей в ходе ее выполнения. Есть десктоп-приложение на java. Отправляет xml файл веб сервису. Есть веб-сервис. Принимает xml файл. Нормально принимает, тестировал. Кстати, это другой проект. То есть выше указанные вещи - это 2 разных проекта. У веб сервиса есть веб метод AddToDB - там происходит и прием xml и запись полей xml в базу. Как я вообще тестирую приложение - 1)В десктоп клиенте создаю экземпляр класса веб сервиса и вызываю веб метод (jar-ку MyWebService я предварительно подключаю к проекту десктопа). 2) запускаю 2 проект - веб сервис. 3) вызываю веб метод AddToDB - и та часть, которая на стороне веб сервиса принимает хмл работает, как я и писал выше. А вот самый такой стандартный код добавления в базу не работает в теле веб метода . Пишет com.mysql.jdbc.driver СlassNotFound exception. Я гуглил - classpath корень зла, говорят. Я и jar-коннектор в netBeans в проект вебсервиса добавлял и эту джарку в папку ../jre/lib/ext закидывал все тщетно. Так как мои теоретические познания того, что происходит "под капотом" при вызове веб методов из другого проекта слабы, я на всякий случай вслепую включал/выключал томкат, то же самое делал с mysql server, пробовал все 4 возможных варианта (tomcat on-mysql server on, tomcat off-mysql server on, и т д) - тупо, но из-за непонимания тонкостей приходилось действовать вслепую. А теперь самое интересное - весь код связанный с базой данных прекрасно работает в вебсервисе, но только не в теле веб метода а в функции main(). А из этого следует - проблема не в настройках каких-либо там системных переменных или неправильном подключении библиотек, джарок, ведь в рамках этого же проекта просто в другой функции все прекрасно работает. Отличие одно - в веб методе не пашет. Вот скажите теперь, в чем дело? Я так понимаю, когда я делаю пункт 2 - запускаю веб сервис - код функции main() срабатывает независимо от десктоп клиента и все пашет. А когда я работаю с базой из веб метода, там по ходу то ли какие-то объекты null становятся. Кто-нибудь, кто знае что там происходит под капотом, поясните. Код пока не прилагаю вроде и так все понятно, наоборот, с кодом только запутаю. но если надо выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2012, 22:47:58
|
|||
|---|---|---|---|
проблемы с базой данных при вызове из веб сервиса |
|||
|
#18+
Решилось. Надо было джарку коннектора добавить к проекту клиента. Казалось бы, весь код связанный с базами на проекте веб сервиса, а к проекту клиента не имеет отношения - но я то вызываю веб метод сервиса из клиента, по ходу поэтому надо. Я примерно понял, но четкого видения того, что там под капотом нет. Буду рад, если кто-то распишет, пояснит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2012, 00:45:11
|
|||
|---|---|---|---|
проблемы с базой данных при вызове из веб сервиса |
|||
|
#18+
У вас слабенькое понимание как вообще работают веб-сервисы, надо бы подтянуть. Ваш веб-сервис должен быть задеплоен на какой-либо сервер, и ждать запросы по определенному URL http://localhost:8080/webService (например), никаких main функций и тп. Ваш клиент должен тупо посылать запрос на URL веб-сервиса и ждать результата. все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2130500]: |
0ms |
get settings: |
17ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
23ms |
get forum data: |
5ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 277ms |
| total: | 442ms |

| 0 / 0 |
