Ant 使用Gradle生成jax-ws-java源代码

Ant 使用Gradle生成jax-ws-java源代码,ant,websphere,gradle,Ant,Websphere,Gradle,我有一个wsdl,我想使用wsimport的ibmwebsphere版本从它生成jax-ws-type Java源代码。我怎样才能简单地做到这一点?wsimport.bat引用com.ibm.ws.jaxws.tools.wsimport来生成代码。下面是一个简单的Ant脚本,使用WebSphere 6.1运行时(使用WebSphere功能包,这是JAX-ws所必需的),我刚刚测试过: <?xml version="1.0" encoding="UTF-8"?> <projec

我有一个wsdl,我想使用wsimport的ibmwebsphere版本从它生成jax-ws-type Java源代码。我怎样才能简单地做到这一点?wsimport.bat引用com.ibm.ws.jaxws.tools.wsimport来生成代码。

下面是一个简单的Ant脚本,使用WebSphere 6.1运行时(使用WebSphere功能包,这是JAX-ws所必需的),我刚刚测试过:

<?xml version="1.0" encoding="UTF-8"?>
<project name="JAX-WS Client">
    <property name="was.dir" value="C:\Program Files (x86)\IBM\WebSphere\AppServer"/>

    <path id="jaxws.gen.classpath">
        <fileset dir="${was.dir}/plugins">
            <include name="*com.ibm.wsfp.main_6.1.0.jar" />
            <include name="*org.apache.axis2_6.1.0.jar" />
            <include name="*com.ibm.jaxws.tools_6.1.0.jar" />
            <include name="*com.ibm.jaxb.tools_6.1.0.jar" />
        </fileset>
        <fileset file="${was.dir}/lib/j2ee.jar"/>
    </path>

    <!-- Ant task definition for wsimport -->
    <taskdef classpathref="jaxws.gen.classpath" name="wsimport" classname="com.sun.tools.ws.ant.WsImport"/>

    <target name="wsimport">
        <wsimport sourcedestdir="./src" destdir="./build" debug="true" verbose="true"
                  keep="true" wsdl="${wsdlFile}" />
    </target>
</project>
task generateWSDL2Java(type:Exec) { 

    doFirst{
        genDir.mkdirs()
    }
    cmd = websphereHome + '/bin/wsimport.bat -keep -d  '+genDir+' '+wsdlFile    
    commandLine = ['cmd', '/K', cmd]    
} 


如果你有RAD 8,这里是它的内部。我不确定其他WebSphere开发环境如何比较。

JAX-WS工件是可移植的,这意味着您不需要使用IBM的工具。顺便说一句,我认为随附的wsgen和wsimport工具实际上使用了Sun/Oracle参考实现中的代码


因此,您可以使用任何有文档记录的Gradle解决方案,即使它不是特定于WebSphere的。

我通过直接调用wsimport解决了这个问题。只需确保将websphereHome设置为您机器上的websphere主文件夹。genDir是您希望生成文件的文件夹。最后,wsdlFile是用于生成的wsdl的路径

task generateWSDL2Java(type:Exec) { 

    doFirst{
        genDir.mkdirs()
    }
    cmd = websphereHome + '/bin/wsimport.bat -keep -d  '+genDir+' '+wsdlFile    
    commandLine = ['cmd', '/K', cmd]    
} 

WebSphere的哪个版本?您有WebSphere开发工具,还是只有WebSphere运行时?两者都有。而且应该是com.ibm.ws.jaxws.tools.WsImport而不是WsGen顺便说一句,我将进行编辑我现在正在使用RAD8/WAS8,所以我将查看您提供的链接。