Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / проблемы с базой данных при вызове из веб сервиса / 3 сообщений из 3, страница 1 из 1
22.11.2012, 20:46:41
    #38049552
BaurzhanS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с базой данных при вызове из веб сервиса
Всем привет!

Суть задачи и проблемы, возникшей в ходе ее выполнения.

Есть десктоп-приложение на 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 становятся. Кто-нибудь, кто знае что там происходит под капотом, поясните. Код пока не прилагаю вроде и так все понятно, наоборот, с кодом только запутаю. но если надо выложу.
...
Рейтинг: 0 / 0
22.11.2012, 22:47:58
    #38049654
BaurzhanS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с базой данных при вызове из веб сервиса
Решилось. Надо было джарку коннектора добавить к проекту клиента. Казалось бы, весь код связанный с базами на проекте веб сервиса, а к проекту клиента не имеет отношения - но я то вызываю веб метод сервиса из клиента, по ходу поэтому надо. Я примерно понял, но четкого видения того, что там под капотом нет. Буду рад, если кто-то распишет, пояснит.
...
Рейтинг: 0 / 0
23.11.2012, 00:45:11
    #38049742
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с базой данных при вызове из веб сервиса
У вас слабенькое понимание как вообще работают веб-сервисы, надо бы подтянуть.
Ваш веб-сервис должен быть задеплоен на какой-либо сервер, и ждать запросы по определенному URL http://localhost:8080/webService (например), никаких main функций и тп.
Ваш клиент должен тупо посылать запрос на URL веб-сервиса и ждать результата. все.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / проблемы с базой данных при вызове из веб сервиса / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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