#java #web-services #oracle #netbeans
#java #веб-сервисы #Oracle #netbeans
Вопрос:
У меня есть база данных Oracle с таблицей, которая содержит пользователя. Я хочу создать веб-службу на Java, чтобы получать пользователя по идентификатору. Как я это делаю? Я ищу в Интернете, но получаю только учебные пособия по Hello World.
Спасибо
Ответ №1:
Я бы посоветовал вам использовать Spring-WS, у них есть несколько хороших руководств и несколько хороших примеров приложений, которые вы можете модифицировать в соответствии с вашими потребностями. Вы можете узнать больше на :
http://static.springsource.org/spring-ws/sites/2.0/
Вам нужно сделать несколько разных вещей:
-
Вы должны написать простой wsdl для определения вашего веб-сервиса. Для этого также может потребоваться написать некоторые XML-схемы. Вы можете найти несколько примеров здесь: http://www.w3.org/2001/03/14-annotated-WSDL-examples.html. Помните, что wsdl — это просто описание веб-сервиса, который вы собираетесь написать.
-
Следующим шагом будет собственно написание веб-службы. Для этого требуется сгенерировать объекты, которые будут маршалировать / отменять маршалирование запросов и ответов. Документация SpringWS дает вам несколько примеров того, как это сделать.
-
Наконец, вам нужно написать вызовы уровня базы данных.
Комментарии:
1. Я уже разрабатываю две веб-службы в Netbeans. Один для вставки данных, а другой для удаления, добавляющего идентификатор. Я не знаю, как создать ее для извлечения данных с заданным идентификатором.
Ответ №2:
Здесь у вас действительно две проблемы:
- Как запросить базу данных Oracle, чтобы получить записи из таблицы user для заданного идентификатора.
- Как предоставить этот метод веб-клиентам в качестве веб-службы.
Вы не говорите, хотите ли вы SOAP или REST.
Я бы рекомендовал Spring для обоих. Ее SimpleJdbcTemplate упростит задачу 1; веб-службы Spring упростят написание службы SOAP с первым контрактом.
Комментарии:
1. Я хочу создать веб-службу SOAP. Я знаю, как сделать выбор в базе данных. Чему я учусь, так это созданию веб-сервиса, в котором я могу повторно запрашивать что-либо, используя идентификатор.
2. Затем попробуйте веб-службы Spring contract first.