Тип даты wsdl преобразован в XMLGregorianCalendar при генерации клиентского мыла

Не могу понять почему мое поле dateTransaction

изменен с типа date на XMLGregorianCalendar после создания мыльного клиента (с плагином wsimpot или cxf maven)

<xs:schema targetNamespace = "http://www.xxxxxx.xxr/xx/wsdl/service/objets/v1" elementFormDefault = "qualified" attributeFormDefault = "unqualified" xmlns = "http://www.xxxxxx.xxr/xx/wsdl/service/objets/v1" xmlns:xs = "http://www.w3.org/2001/XMLSchema">

    <xs:element name = "RequeteService" type = "RequeteService"/>

            <xs:element name = "dateTransaction" type = "xs:date" minOccurs = "1" maxOccurs = "1"/>

    </xs:complexType>
</xs:schema>

вот мой сгенерированный класс:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RequeteService", propOrder = {

    "dateTransaction",
    ....
})
    public class RequeteService{

      .....
        @XmlSchemaType(name = "date")
        protected XMLGregorianCalendar dateTransaction;

вот мой плагин

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>2.5</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <useJdkToolchainExecutable>false</useJdkToolchainExecutable>
                    <wsdlDirectory>${project.basedir}/src/main/resources/wsdl</wsdlDirectory>
                    <packageName>xxxx.xxxx.ws.api</packageName>
                    <keep>true</keep>
                    <sourceDestDir>${project.basedir}/target/generated/src/main/java</sourceDestDir>
                </configuration>
            </plugin>
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
382
1

Ответы 1

Это часть стандартной обработки JDK (и XSD) для XML-типов date. XMLGregorianCalendar обрабатывает все особенности XML и часового пояса. Если вы хотите сопоставить атрибуты даты xml (или dateTime) с другим объектом даты (времени) Java, вы можете сделать это с помощью файла привязки, чтобы сопоставить файл с чем-то другим с помощью адаптера.

Вот статья об этом в DZone: Настройка генерации поля даты (времени) XML с XJB

Другие вопросы по теме