[java] Как я могу сделать параметр WebMethod


0 Answers

Сгенерированный xsd показывает minOccurs = 0.

Это по спецификации: любые непримитивы являются необязательными, требуются только примитивы.

Мне нужен способ сделать необходимые параметры WebMethod (возможно, minOccurs = 1 в xsd) в подходе «начать с Java».

Это невозможно, если вы не используете примитивы, как упоминалось ранее.

И на самом деле, это одна из причин, почему Java-первая отстой (да, разработчикам нравится, но она просто не работает ): ее хрупкость, контракт может измениться (!), Его не дает вам весь необходимый вам контроль , он не подходит для WS-Security и т. д. Так что, действительно, contract-first не нравится, но, по крайней мере, он работает.

Question

Мы используем подход «начать с Java» для создания веб-сервисов JAX-WS 2.0 с использованием стека Metro 1.5. Когда мы укажем стандартный инструмент, например SoapUI, на одну из наших веб-служб, это указывает, что параметры для WebMethods являются необязательными. Сгенерированный xsd показывает minOccurs = 0.

Мне нужен способ сделать необходимые параметры WebMethod (возможно, minOccurs = 1 в xsd) в подходе «начать с Java». Я думаю, что для этого есть аннотация Java, но я не смог ее найти. Аннотации XmlElement имеют обязательный атрибут, но XmlElement не может применяться к параметрам WebMethod.

Есть ли способ сделать мои параметры WebMethod требуемыми, за исключением ручного редактирования xsd и установки minOccurs на 1?




Related