gpt4 book ai didi

web-services - apt vs wsgen vs wsimport . 关于何时使用什么以及为什么不使用另一个的困惑

转载 作者:行者123 更新时间:2023-12-04 04:58:30 24 4
gpt4 key购买 nike

我一直在尝试编写一个 Web 服务 (JAX-WS),并且我已经阅读了从 2006 年到 2013 年的许多教程。它们中的大多数是关于某些 IDE 的。那些谈论手动创建/部署 Web 服务的都是 ant 脚本。到这里一切都很好。

我检查 Ant 脚本的那一刻,困惑开始了。一些旧教程使用 APT 任务来编译 SEI,然后使用 wsgen 生成工件。较新的仅使用 wsgen(尽管 APT 在 ant 脚本中被定义为 taskdef)。此外,正如我一直在阅读有关 JAVA 7 文档的内容,它说您不需要使用 wsgen,因为 javac 本身会完成所有编译和工件 req。 for WS 是在运行时动态生成的。

我尝试在 SEI 上使用 javac 命令并将其部署在 tomcat 上,但没有奏效。

任何人都可以澄清我需要在 JAVA SE 7 版本中使用哪些命令来部署 Web 服务。

另外,我想知道每个命令生成什么以及何时使用哪些命令。

据我所知,开发和部署不需要 wsimport,只需要构建 WS-client。这样对吗?如果不是,请向我提供指示以明确我的理解。

提前致谢

另外,如果我重复我的自我,那么抱歉,因为我是 StackOverflow 的新手并且对此不太熟悉。 :)

最佳答案

要使用 Java-WS 规范创建 Web 服务,您需要几个工件。 “apt”、“wsgen”和“wsimport”的目的是使这个过程自动化。
有两种创建 Web 服务的方法:自底向上(先编码,然后是 WSDL)和自顶向下(先是 WSDL,然后是编码)。
自下而上 方法:

  • apt:使用源代码,生成 WSDL(和工件)
  • wsgen:使用编译代码,生成 WSDL(和工件)

  • 自上而下
  • wsimport:使用 WSDL,为服务/客户端实现生成 java 代码。

  • 使用 apt 的优势在于,拥有源代码脚本将能够获取参数名称并在 WSDL 上使用它们。
    Web 服务部署
    对于生产,您需要一个负责安全性、可伸缩性和资源管理的 Web 容器,但是,出于测试目的,您可以通过执行以下操作使用 Java SE 上的内置 Web 服务器部署 Web 服务:
     @WebService 
    public class MyService {

    public static void main(String args[]) {
    MyService service = new MyService();
    String url = "service/";
    Endpoint ep = new Endpoint(url, service);
    }


    @WebMethod
    public String getInfo() {
    return "Service info";
    }
    }
    这段代码将生成 WSDL 并在您的本地主机/服务上发布服务。

    关于web-services - apt vs wsgen vs wsimport . 关于何时使用什么以及为什么不使用另一个的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894728/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com