由于WSDL导入,无法生成JAXB工件

时间:2014-09-26 02:20:44

标签: java maven jaxb wsdl maven-jaxb2-plugin

我有一个WSDL(比如one.wsdl),我想用它来生成使用maven插件的JAXB工件。 one.wsdl导入另一个wsdl(two.wsdl)。当我运行maven插件来生成JAXB工件时,看起来它没有识别two.wsdl而没有生成JAXB工件。

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <version>0.7.5</version>
    <executions>
        <execution>
            <id>DataBindings_XJC_generate</id>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <schemaDirectory>src/main/resources/wsdl/</schemaDirectory>
                <schemaIncludes>
                    <include>one.wsdl</include>
                </schemaIncludes>
                <generateDirectory>src/main/java/</generateDirectory>
                <generatePackage></generatePackage>
                <readOnly>true</readOnly>
                <removeOldOutput>true</removeOldOutput>
                <verbose>true</verbose>
                <extension>false</extension>
                <forceRegenerate>true</forceRegenerate>
                <episode>false</episode>
            </configuration>
        </execution>
    </executions>
</plugin>

one.wsdl正在引用这样的two.wsdl(两者都在同一目录中)。

<wsdl:import namespace="http://namespce:uri" location="two.wsdl"/>

但是如果我在插件中提供two.wsdl(在include标签中),它就能够成功生成jaxb工件。

在识别导入的WSDL时,有人可以建议插件可能出现什么问题吗?

1 个答案:

答案 0 :(得分:1)

maven-jaxb2-plugin只是XJC的包装器。它本身不进行任何模式处理,只调用XJC。

请在此处将测试用例作为PR请求发送给我:

https://github.com/highsource/maven-jaxb2-plugin/tree/master/tests

我会检查这是否与插件有关(不太可能)或将其转发给Oracle。

我认为,这可能也是设计的 - 如果您的one.wsdl没有使用two.wsdl中的任何内容,那么two.wsdl将不生成任何内容。