У меня есть WSDL со встроенной схемой, которая включает некоторые ограничения simpleType
с перечислениями:
<element name="employeeId">
<simpleType>
<restriction base="string">
<maxLength value="2"/>
<enumeration value="EL"/>
</restriction>
</simpleType>
</element>
(Да, я знаю, что в этом примере есть только одно значение перечисления.) В некоторых более ранних инструментах, зависящих от поставщика, они генерировали перечисления Java, но в моем текущем wsimport (JAX-WS RI 2.2.4-b01) их нет.
Я провел много поисков, в результате которых было найдено много обсуждений пользовательских сопоставлений. Я, вероятно, не хочу вручную сопоставлять отдельные классы и значения, поэтому я пытался найти какой-то рабочий синтаксис, чтобы сделать это глобально.
Тем не менее, большая часть моего чтения, похоже, указывает на то, что по умолчанию следует создавать эти перечисления: " rel="nofollow">https://jaxb.java.net/tutorial/section
<element name="employeeId">
<simpleType>
<restriction base="string">
<maxLength value="2"/>
<enumeration value="EL"/>
</restriction>
</simpleType>
</element>
2_9-Defining-an-Enumeration.html#Defining%20an%20Enumeration
Что вы должны явно отключить их, если они вам не нужны. например https://jaxb.java.net/nonav/2.2.5-5/docs/ch03.html#compiling-xml-schema-avoid-strong-databinding
Это должно быть правильно? Если да, то есть идеи, почему этого не происходит?
Дополнительный вопрос: должна ли генерация перечисления происходить и с xsd:token
, или только с xsd:string
?