JBOSS аннотации к веб-сервису - PullRequest
2 голосов
/ 29 января 2010

Фон

Я пытаюсь создать веб-сервис, используя SOAP и JBOSS. Я знаю, что для создания веб-сервиса вы должны сделать что-то вроде этого:

import javax.jws.WebService;

@WebService
public class HelloImpl {

  /**
   * @param name
   * @return Say hello to the person.
   */
   public String sayHello(String name) {
     return "Hello, " + name + "!";
   }
}

Я вообще понимаю, как работают аннотации Java:

@ примечания определяются языком Java. Аннотация это класс. Когда вы помечаете что-то с помощью аннотации, компилятор и среда выполнения организуют, чтобы объект этого класса был виден во время выполнения посредством отражения java.

Благодаря bmargulies из этой ветки.

Я не уверен, что jboss делает с аннотациями.

Вопрос 1 : Я думаю, что jboss генерирует xml ИЛИ wsdl на основе аннотаций. Это правильно? Примечание : я ссылаюсь на такие теги, как @Webservice, @WebContent, @SecurityDomain, @ Stateless

Вопрос 2 : Если jboss генерирует xml ИЛИ wsdl, мне нужны аннотации? Могу ли я создать этот файл сам?

Похожие страницы:

Ответы [ 2 ]

1 голос
/ 29 января 2010
  1. Стек веб-служб JBoss является просто реализацией JAX-WS ( JSR 224 ). JBoss должен сгенерировать WSDL для вас, обычно доступный по URL-адресу веб-службы с добавлением? Wsdl в конце.

  2. WSDL - не единственное, что делают эти аннотации. Они также сообщают JBoss, что ваш класс реализует один или несколько веб-сервисов.

В руководстве по JavaEE есть раздел Веб-службы с JAX-WS , в котором более подробно объясняется, как они работают.

1 голос
/ 29 января 2010

Вы должны больше видеть аннотации как замену / альтернативу файлам конфигурации XML. Когда JBoss запускается, он просто сканирует весь путь к классам для классов с конкретными аннотациями, а затем загружает / создает / отображает их в памяти. Если бы здесь не использовались аннотации, JBoss просто проанализировал бы и прочитал файл конфигурации XML на предмет подсказок, где находятся определенные классы и / или как с ними обращаться, а затем загрузил / создал / сопоставил их каждый в памяти примерно одинаковым образом. 1001 *

Вы можете сами определять файлы конфигурации XML. Вы даже можете использовать его одновременно с аннотациями, но имейте в виду, что XML-файлы конфигурации (обычно) перевешивают / переопределяют ту же конфигурацию, которая определяется в виде аннотаций - если таковые имеются. Это связано с тем, что файлы конфигурации XML являются внешне управляемыми без необходимости переписывать / перестраивать / повторно развертывать весь код Java снова и снова. JBoss не генерирует файлы XML на основе аннотированных классов.

...