2010-03-23 52 views
2

我用wsimport命令行工具来创建类,但是我想从java代码中完成。任何想法?通过java程序从WSDL生成java类

+1

你能说你为什么需要这个吗? – 2010-03-23 09:36:57

+1

因为我需要基于WSDL制作动态服务调用器。所以我需要动态创建Web服务类 – Milan 2010-03-23 09:38:01

回答

1

它可以调用WsImportmain()方法:

import com.sun.tools.ws.WsImport; 

... 

String[] args = {"put", "your", "arguments", "here"}; 
WsImport.main(args); 

我认为这是Ant task做什么。


更新:我不知道理解你正在试图做什么(我不认为你想生成源代码,并在运行时编译)。

如果问题实际上是关于做动态调用,JAX-WS的动态调用接口(DII)是javax.xml.ws.Dispatch对象。检查JAX-WS's dynamic Dispatch interface

+0

我一直在试图理解他想要做什么,然后我终于得出结论,他想要类似http://www.soapclient.com/soaptest.html – Bozho 2010-03-23 12:36:57

+0

是的,那就是我想要做的。但是一个人 – Milan 2010-03-23 14:23:59

0

您可以通过编程方式使用wsimport ant task

您可以通过使用任务分类 - com.sun.tools.ws.ant.WsImport来完成此操作。实例化它,设置其属性(如任务文档中定义的),并调用​​方法。

+0

我看不到我怎么能从java执行wsimport – Milan 2010-03-23 09:47:49

+0

@Milan看到我的更新。现在它应该更清晰 – Bozho 2010-03-23 09:50:24

0

您试图实现的不是典型的Java Web服务流程。但是,您可以使用基于动态JVM的Groovy language使用GroovyWS模块来实现此目的。