【问题标题】:Generate java classes from WSDL through java program通过java程序从WSDL生成java类
【发布时间】:2011-01-30 17:20:43
【问题描述】:

我使用 wsimport 命令行工具来创建类,但我想从 java 代码中创建。有什么想法吗?

【问题讨论】:

  • 您能说一下为什么需要这个吗?
  • 因为我需要制作基于 WSDL 的动态服务调用程序。所以我需要动态创建网络服务类

标签: java web-services wsdl wsdl2java


【解决方案1】:

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

您可以通过使用任务类 - com.sun.tools.ws.ant.WsImport 来做到这一点。实例化它,设置它的属性(在任务文档中定义),然后调用execute() 方法。

【讨论】:

  • 我看不到如何从 java 执行 wsimport
【解决方案2】:

您尝试实现的不是典型的 Java Web 服务流程。但是您可以通过基于动态 JVM 的 Groovy language 使用 GroovyWS 模块来实现这一点。

【讨论】:

    【解决方案3】:

    可以调用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。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    相关资源
    最近更新 更多