在运行时从wsdl生成JAVA类

时间:2013-05-03 20:11:42

标签: java wsdl jax-ws wsimport

从JAVA代码调用wsimport时出现问题。我有maven项目,我需要自动调用wsimport并获得调用结果(非常重要)。我发现只有一种方法可以使用wsimportcmd拨打exec(),但这不是我需要的。

所以,也许任何人都知道某些API使用来自JAVA代码的wsimportwsimport的一些替代品来生成适合我需要的wsdl的JAVA类。

2 个答案:

答案 0 :(得分:1)

您是否尝试过JAX-WS Maven Plugin

另一方面,您可以使用JAX-WS RI库以某种方式生成客户端,如下所示:

package org.paulvargas.test;

import com.sun.tools.ws.WsImport;

public class MyWsdl2JavaTool {
    public static void main(String[] args) throws Throwable {
        WsImport.doMain("http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl"
                                                                 .split("\\s+"));
    }
}

你想单独编译吗?

使用方法javax.tools.ToolProvider.getSystemJavaCompiler()获取javax.tools.JavaCompiler

的实例

查看更多:

答案 1 :(得分:0)

您也可以使用java在cmd上运行命令。或者创建批处理文件并从java执行它。