Я создаю jaxws-клиент на основе webservice. Jaxb будет генерировать булевы, используя java.lang.Boolean вместо примитивного типа. В дополнение к этому, он будет генерировать соглашение об именовании is() для beans.
Однако, если я попытаюсь связать логическое значение (например, isOptional()) с флажком, это вызовет следующее исключение:
value="#{property.optional}": Property 'optional' not readable on type java.lang.Boolean
Мои навыки google сообщили мне, что jsf отлично работает с:
boolean isOptional()
boolean getOptional()
Boolean getOptional()
Но не с
Boolean isOptional()
Однако невозможно обновить beans вручную из-за размера и количества веб-сервисов, так есть ли способ заставить jsf правильно использовать java.lang.Boolean isOptional()? Или я могу каким-то образом определить свойство в файле привязки jaxb во время генерации, которое магически генерирует "getOptional()"?
В боковом поле работает следующее:
<h:selectBooleanCheckbox value="#{property.isOptional()}"/>
Однако я не могу фактически обновить значение, предположительно потому, что он не может найти установщик.
EDIT: я запускаю последний jdk 7, вывод "java -version":
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing)
Вывод "wsimport -version":
JAX-WS RI 2.2.4-b01
Сгенерированный код:
public Boolean isOptional() {
return optional;
}