Сложный тип WSDL в сложном типе: Java Mapping - PullRequest
0 голосов
/ 19 сентября 2018

Это мой требуемый wsdl: который я хочу, когда я сгенерирую wsdl

        <xs:complexType name="library.body">
            <xs:sequence>
                <xs:element name="library.bank" type="xs:string" />
                <xs:element name="library.books.info">
                    <xs:complexType>
                        <xs:choice>
                            <xs:element name="book.type0" type="book.type0" />
                            <xs:element name="book.type1" type="book.type1"/>
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>

Теперь, дело в том, что приведенный выше код содержит "xs: complex-type" внутри "xs: complextype: which injava означает класс в классе, то есть:

Ниже приводится Java-код

Код JAVA начинается: >>>

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "library.body")
public class LibBody
{
    @XmlElement(nillable = false, required = true, name = "library.bank")
    public String librarybank;

    //Following code generates the choice
    @XmlElements({
    @XmlElement(name = "book.type0", type = type0.class),
    @XmlElement(name = "book.type1", type = type1.class),
    })
    public LibBody.libraryobj libraryobj;


    //Following code is supposed to add that <xs:complextype>, but 
     unfortunately.... result is not as expected.

    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "")
    @XmlRootElement(name = "library.books.info")
    public static class libraryobj {

    @XmlElement(nillable = false, required = true, name = "book.type0")
    type0 hey= new type0();

    @XmlElement(nillable = false, required = true, name = "book.type1")
    type1 heyy= new type1();
    }

}

КОНЕЦ КОДА JAVA

Теперь генерируем wsdl:

<xs:complexType name="library.body">
    <xs:sequence>
         <xs:element name="library.bank" type="xs:string" />
          <xs:choice>
             <xs:element name="book.type0" type="book.type0" />
             <xs:element name="book.type1" type="book.type1"/>
          </xs:choice>
    </xs:sequence>
</xs:complexType>

Мой генерируемый wsdl завершается ....

Теперь, как вы можете видеть: мой wsdl не содержит внутреннего "complextype"и этот" элемент "library.books.info.

Может ли кто-нибудь направить меня в правильном направлении?

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