Использование разных имен пакетов для привязок и wsdl с помощью плагина jaxws maven

У нас есть специальное требование к нашему приложению: файлы, созданные для wsdl, должны иметь заданное имя пакета, а файлы, созданные для файлов xsd, должны иметь другое имя пакета.

Кажется, нет способа настроить это с помощью плагина jaxws maven. Вот наша текущая конфигурация:

    <execution>
        <id>wsimport-finderpro</id>
        <phase>generate-sources</phase>
        <goals>
            <goal>wsimport</goal>
        </goals>
        <configuration>
            <bindingDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/xsd</bindingDirectory>
            <bindingFiles>
                <bindingFile>ServerResponse_login.xsd</bindingFile>
                <bindingFile>OpenDirectAccessSession.xsd</bindingFile>
            </bindingFiles>
            <!--wsdls file directory -->
            <wsdlDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/wsdl</wsdlDirectory>
            <!-- which wsdl file -->
            <wsdlFiles>
                <wsdlFile>B2T_DataModel.asmx.wsdl</wsdlFile>
            </wsdlFiles>
            <!-- Keep generated files -->
            <keep>true</keep>
            <!-- Package name -->
            <packageName>com.mycompany.world.worldlink.finderpro.ws</packageName>
            <!-- generated source files destination-->
            <sourceDestDir>target/generated-code/src</sourceDestDir>
            <staleFile>target/jaxws/fp/.staleFlag</staleFile>
            <target>2.1</target>
        </configuration>
    </execution>

Может кто-нибудь, пожалуйста, посоветуйте?

изменить 1: я придумал следующий код:

            <execution>
                <id>wsimport-finderpro-01</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>wsimport</goal>
                </goals>
                <configuration>
                    <bindingDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/xsd</bindingDirectory>
                    <bindingFiles>
                        <bindingFile>OpenDirectAccessSession.xsd</bindingFile>
                    </bindingFiles>
                    <!--wsdls file directory -->
                    <wsdlDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/wsdl</wsdlDirectory>
                    <!-- which wsdl file -->
                    <wsdlFiles>
                        <wsdlFile>B2T_DataModel.asmx.wsdl</wsdlFile>
                    </wsdlFiles>
                    <!-- Keep generated files -->
                    <keep>true</keep>
                    <!-- Package name -->
                    <packageName>com.ids.world.worldlink.finderpro.xmlstubs</packageName>
                    <!-- generated source files destination-->
                    <sourceDestDir>target/generated-code/src</sourceDestDir>
                    <staleFile>target/jaxws/fp-01/.staleFlag</staleFile>
                    <target>2.1</target>
                </configuration>
            </execution>
            <execution>
                <id>wsimport-finderpro-02</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>wsimport</goal>
                </goals>
                <configuration>
                    <bindingDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/xsd</bindingDirectory>
                    <bindingFiles>
                        <bindingFile>GetAllMyEntityQuotes.xsd</bindingFile>
                    </bindingFiles>
                    <!--wsdls file directory -->
                    <wsdlDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/wsdl</wsdlDirectory>
                    <!-- which wsdl file -->
                    <wsdlFiles>
                        <wsdlFile>B2T_DataModel.asmx.wsdl</wsdlFile>
                    </wsdlFiles>
                    <!-- Keep generated files -->
                    <keep>true</keep>
                    <!-- Package name -->
                    <packageName>com.ids.world.worldlink.finderpro.xmlstubs.allMyEntityQuotes</packageName>
                    <!-- generated source files destination-->
                    <sourceDestDir>target/generated-code/src</sourceDestDir>
                    <staleFile>target/jaxws/fp-02/.staleFlag</staleFile>
                    <target>2.1</target>
                </configuration>
            </execution>

Проблема в том, что я заметил, что многие классы обновляются несколько раз (здесь x2), и я получаю одни и те же классы в разных пакетах.

Как я могу гарантировать, что классы, сгенерированные для wsdl, генерируются один раз, а классы для xsd генерируются и помещаются в их соответствующий пакет?

0 ответов

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