WSClient++ генерирует пустой класс для элемента типа по умолчанию

В моем XSD у меня что-то вроде этого

<xs:element name="type">
    <xs:complexType>
        <xs:choice>
            <xs:element name="type1"/>  <---CHECK THIS
            <xs:element name="type2">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="type21" type="xs:int">
                            <xs:annotation>
                                <xs:documentation>in seconds</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="type3">
             .....Further XML....

Для элемента типа type1 ничего не указано. И я использовал WSClient++ для создания моей заглушки. WSClient++ генерирует просто пустой класс. Что именно мне нужно из этого сделать. И как мне справиться с этим.

Класс, сгенерированный WSClient++

package com.xyz.abc.conf

public class Type1
{

}

и это то, что возвращается сервером

<type><type1/></type>

когда я пытаюсь десериализовать это, это дает мне исключение нулевого указателя. как мне справиться с этим.?

1 ответ

Если вы не укажете тип для элемента, типом по умолчанию будет xs:anyType, который разрешает любое содержимое XML. Немного сложно сопоставить это с классом Java.

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