2013-05-03 96 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中執行它。