Тип даты wsdl преобразуется в XMLGregorianCalendar при создании клиентского мыла - PullRequest
0 голосов
/ 08 июня 2018

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

изменилось с date type на 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>

1 Ответ

0 голосов
/ 25 июня 2018

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...