Я разработал веб-сервис, и мои пользователи по праву хотели бы видеть документацию. Я бы предпочел просто задокументировать свой код либо с комментариями javadoc, либо с явной аннотацией, например

@XmlComment("This is used to [blah blah]")
@XmlElement(name = "referenceDate", namespace = NAMESPACE, type = Date.class)
public void setReferenceDate(Date referenceDate) {
    this.referenceDate = referenceDate;
}

Или

/**
 * This is used to [blah blah]
 */
@XmlElement(name = "referenceDate", namespace = NAMESPACE, type = Date.class)
public void setReferenceDate(Date referenceDate) {
    this.referenceDate = referenceDate;
}

Вышеупомянутое не поддерживается, как показано здесь:

  • JAXB-273 - 2006 запрос на создание элементов xs: documentation из аннотаций
  • JAXB-369 - 2007 запрос на создание элементов xs: documentation из комментариев
  • SO-470001 - вопрос о переполнении стека «Вы не можете этого сделать»

Итак, я понимаю, что не могу использовать приведенное выше, чтобы комментировать свою службу. Но ... Конечно, есть еще способ сделать это не вручную. Должен ли я вручную создавать весь свой XML только для этого? Если это - ответ, почему не уделяется больше внимания включению этой функции в JAXB? Кажется совершенно обязательным для веб-сервиса корпоративного уровня, не так ли?

3
inanutshellus 21 Июн 2012 в 00:27

1 ответ

Лучший ответ

Вы правы, бедно. В наши дни основное внимание уделяется контракту, поэтому я думаю, что это не было приоритетом. Вы можете использовать XSLT для добавления комментариев к WSDL из отдельного XML-документа. Не так хорошо, как генерировать его из кода Java, но лучше, чем ничего. Вот это делает древняя публикация http://www.gridlab.org/WorkPackages /wp-5/guide/wsdltips.html

0
artbristol 21 Июн 2012 в 00:49