Обновление:
Один из способов сделать это - XSD (если вы сначала заключаете контракт ), например. добавьте XSD Restriction непосредственно к нему, например,
<xs:element name="singleChar">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Но я думаю, что вопрос о контракте последний (например, написать код, который генерирует XSD, а не наоборот)
Насколько я знаю, это еще не поддерживается в JAX-WS или JAXB (но хороший запрос на улучшение)
Источники:
JAX-WS и JAXB не поддерживают генерацию кода для ограничений из XSD (например, xsd: ограничение)
http://old.nabble.com/Does-jaxb-2.1-enforce-xs:restriction-td21348458.html
Причина в том, что другое направление (создание ограничений посредством аннотации) тоже не поддерживается
Обход:
Взгляните на это: http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html
А также на этот вопрос:
JAX-WS и Joda-Time?
Не делает именно то, что вы хотите, но приближает вас немного
Я не думаю, что вы можете ограничить его до 1 символа любым другим способом, символ действительно является неподписанным коротким, и самое близкое, что вы можете ограничить 1 символом "String".
Если вы используете строку, вы разрешите неограниченное количество символов. и @ WebParam не имеет API для ограничения длины
На самом деле я вообще не видел способа сделать ограничения XSD с помощью JAX-WS, но я могу ошибаться