微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从WSDL包括端口生成Java? Ant WsImport ws jaxws-导入Maven插件

如何解决如何从WSDL包括端口生成Java? Ant WsImport ws jaxws-导入Maven插件

我正在从Gradle迁移到Maven。

Gradle构建从几个WSDL生成java类

对于其中一个WSDL,在Gradle中有一个大块调用Ant的WsImport任务,该任务使用XJC。

task.wsimport {
    ext.classesDir = "${buildDir}/classes/jaxb"
    ext.sourcesDirsome = "${buildDir}/generated/"
    ext.packageSome = "some"
    ext.schemaSome = "${projectDir}/src/main/resources/someService/some-soap-service.wsdl"

    outputs.dir classesDir
    doLast {
        project.ant {
            mkdir(dir: sourcesDirsome)
            taskdef(name: 'wsimport',classname: 'com.sun.tools.ws.ant.WsImport',classpath: configurations.jaxws.asPath
            )
            wsimport(keep: true,destdir: classesDir,sourcedestdir: sourcesDirsome,extension: "true",verbose: "false",quiet: "false",package: packageSome,xnocompile: "true",wsdllocation: "/someService/some-soap-service.wsdl",wsdl: schemaSome) {
                xjcarg(value: "-XautoNameResolution")
            }
            javac(destdir: classesDir,source: 11,target: 11,debug: true,includeantruntime: false,debugLevel: "lines,vars,source",classpath: configurations.jaxb.asPath) {
                src(path: sourcesDirsome)
                include(name: "**/*.java")
                include(name: "*.java")
            }
            copy(todir: classesDir) {
                fileset(dir: sourcesDirsome,erroronmissingdir: false) {
                    exclude(name: "**/*.java")
                }
            }
        }
    }

}

对于Maven,我选择了jaxws-maven-plugin,它也使用XJC。

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <configuration>
                <wsdlDirectory>${xsdsBaseDir}/someService</wsdlDirectory>
                <wsdlLocation>${xsdsBaseDir}/someService/some-soap-service.wsdl</wsdlLocation>
                <packageName>some</packageName>
                <keep>true</keep>
                <sourceDestDir>${project.build.directory}/generated-sources/main/java</sourceDestDir>
                <target>2.0</target>
            </configuration>
            <executions><execution><goals><goal>wsimport</goal></goals></execution></executions>
        </plugin>

但是生成代码缺少Groovy中生成的某些类-WSDL端口的那些类。

可能是什么原因?我已经阅读了WsImport和jaxws-maven-plugin的手册,但两者几乎一样。
我有事吗也许有一些不同的认值?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。