jaxws: wsimport Два объявления вызывают конфликт в классе ObjectFactory - PullRequest
0 голосов
/ 22 сентября 2018

У меня возникла проблема, похожая на эту https://stackoverflow.com/questions/13422253/xjc-two-declarations-cause-a-collision-in-the-objectfactory-class, и кажется, что привязка абсолютно не влияет на схему wsdl.независимо от того, как я настроил schemaLocation, node, xpath, никакого эффекта.Вдобавок к этим сообщениям об ошибках не вводите слишком много информации.

Вот конфигурация плагина maven:

<plugin>
    <groupId>org.jvnet.jax-ws-commons</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <version>2.3</version>
    <configuration>
        <verbose>true</verbose>
        <xdebug>true</xdebug>
        <detail>true</detail>
        <bindingFiles>
            <bindingFile>${project.basedir}/src/main/resources/bindings.xjb</bindingFile>
        </bindingFiles>
        <wsdlUrls>
            <wsdlUrl>https://cdx.dealerbuilt.com/0.99a/Api.svc?wsdl</wsdlUrl>
        </wsdlUrls>
        <args>
            <arg>-B-XautoNameResolution</arg>
        </args>
        <vmArgs>
            <vmArg>-Djavax.xml.accessExternalDTD=all</vmArg>
            <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
        </vmArgs>
        <keep/>
        <sourceDestDir>${project.basedir}/src/main/java/</sourceDestDir>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>wsimport</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Вот определение привязки:

<jaxb:bindings>
    <jaxb:schemaBindings>
        <jaxb:nameXmlTransform>
            <jaxb:typeName prefix="Type_"/>
            <jaxb:elementName suffix="Element_"/>
            <jaxb:anonymousTypeName suffix="Anon_"/>
            <jaxb:modelGroupName suffix="Group_"/>
        </jaxb:nameXmlTransform>
    </jaxb:schemaBindings>
</jaxb:bindings>

<jaxws:bindings node="//xs:element[@name=asd]">
    <jaxb:schemaBindings>
        <jaxb:nameXmlTransform>
            <jaxb:elementName suffix="Elem"/>
        </jaxb:nameXmlTransform>
    </jaxb:schemaBindings>
</jaxws:bindings>

<jaxb:bindings schemaLocation="https://cdx.dealerbuilt.com/0.99a/Api.svc?xsd=xsd14">
    <jaxws:bindings node="//xs:element[@name=asd]">
        <jaxb:schemaBindings>
            <jaxb:nameXmlTransform>
                <jaxb:elementName suffix="Elem"/>
            </jaxb:nameXmlTransform>
        </jaxb:schemaBindings>
    </jaxws:bindings>
</jaxb:bindings>

Результатчто я заканчиваю с кучей:

com.sun.istack.SAXParseException2; systemId: https://cdx.dealerbuilt.com/0.99a/Api.svc?xsd=xsd14; lineNumber: 1; columnNumber: 913; Two declarations cause a collision in the ObjectFactory class.
com.sun.istack.SAXParseException2; systemId: https://cdx.dealerbuilt.com/0.99a/Api.svc?xsd=xsd8; lineNumber: 1; columnNumber: 14330; Two declarations cause a collision in the ObjectFactory class.
com.sun.istack.SAXParseException2; systemId: https://cdx.dealerbuilt.com/0.99a/Api.svc?xsd=xsd4; lineNumber: 1; columnNumber: 11847; Two declarations cause a collision in the ObjectFactory class.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...