2013-05-03 99 views
1

我从JAVA代码中调用wsimport的问题。我有Maven项目,我需要认证调用wsimport并获得调用的结果(这非常重要)。我发现只有一种方法可以使用exec()cmd调用wsimport,但这不是我所需要的。在运行时从wsdl生成JAVA类

因此,也许任何人都知道一些使用来自JAVA代码的wsimport或者wsimport用于从wsdl生成适合我需要的JAVA类的替代方案的API。

回答

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.JavaCompiler

实例查看更多方法javax.tools.ToolProvider.getSystemJavaCompiler()

+0

[根据此文档](http://jax-ws.java.net/nonav/jax-ws-20-fcs/arch/com/sun/tools/ws/WsImport.html),OP仍然有有一些设置可以使用'wsimport'(类加载等)类。你能在你的答案中包括这个吗? – kolossus 2013-05-06 05:55:54

0

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