Удаление Nillable = "true" при создании WSDL - PullRequest
1 голос
/ 10 мая 2010

Я создаю веб-сервисы и создаю контракт (WSDL) с Axis2, как веб-сервис POJO, который, в свою очередь, дает мне такой вывод

<xs:element minOccurs="0" name="acHolderName" nillable="true" type="xs:string"/>

В то время как требуемый это <xs:element minOccurs="0" name="acHolderName" type="xs:string"/>

Есть ли какая-нибудь аннотация, которая может заставить меня сделать это или любую другую лучшую реализацию ??

1 Ответ

2 голосов
/ 10 мая 2010

Атрибут nil задокументирован здесь .

С точки зрения сериализации Java-объекта он позволяет атрибуту объекта иметь значение NULL и при этом оставаться действительным документом XML. Это стандартный способ представления объектов Java в схеме XML, поскольку атрибуты объектов не обязательно заполнять в Java.

Если вы хотите больше контроля над WSDL, вам следует рассмотреть возможность использования чего-то вроде JAXWS. Проблема здесь в том, что поддержка этой технологии в Axis2 не очень развита, и, на мой взгляд, ее сложнее развернуть.

Если вы хотите получить абсолютный контроль над WSDL (используя его в качестве спецификации интерфейса), вероятно, лучше использовать его для генерации кода Java, а не надеяться, что ваш java будет соответствовать чьей-либо спецификации.

...