通过Java程序从WSDL生成Java类

3
我曾使用wsimport命令行工具创建类,但现在我想从Java代码中实现它。有什么建议吗?

1
你能说一下为什么需要这个吗? - Mykola Golubyev
1
因为我需要基于WSDL创建动态服务调用器,所以我需要动态创建Web服务类。 - Milan
3个回答

2

你可以调用WsImportmain()方法:

import com.sun.tools.ws.WsImport;

...

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

我认为这就是Ant任务的功能。
更新:我不确定您尝试做什么(我不认为您想在运行时生成源代码并编译它)。
如果问题实际上是关于动态调用,JAX-WS的动态调用接口(DII)是javax.xml.ws.Dispatch对象。请查看JAX-WS的动态Dispatch接口

我已经试图理解他想做什么一段时间了,最终我得出的结论是他想要类似于http://www.soapclient.com/soaptest.html这样的东西。 - Bozho

0

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

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


我看不出如何从Java执行wsimport。 - Milan

0

你想要实现的并不是典型的Java Web Services流程。但是你可以使用基于动态JVM的Groovy语言GroovyWS模块来实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接