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

时间:2011-12-07 21:08:01

标签: ant websphere gradle

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

3 个答案:

答案 0 :(得分:1)

我通过直接调用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]    
} 

答案 1 :(得分:0)

这是一个简单的Ant脚本,使用的是WebSphere 6.1运行时(使用WebSphere Feature Pack,这是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>

如果你有RAD 8,那么这里就是the InfoCenter article which describes using the JAX-WS Ant tasks。我不确定其他WebSphere开发环境如何比较。

答案 2 :(得分:0)

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

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