【问题标题】:Java web services doubtsJava web 服务的疑惑
【发布时间】:2012-08-25 18:14:46
【问题描述】:

我想以 JAX-RPC/JAX-WS/JAX-RS 样式启动 Java Web 服务,并对 xml/wsdl/soap 有所了解。但在开始实施时仍有疑问:

  • 我应该从哪个soap 实现(Axis/CXF 等)入手,以便在获得一个之后可以轻松适应其他soap 实现?
  • 是否有任何默认实现开始而不是切换到供应商特定的实现?
  • 是否有任何书籍可以提供有关这些实现的分步信息?
  • 您真的认为它 (JAX-RPC) 完全过时了吗?我认为您也需要了解它的基础知识才能为现有服务提供支持。不是吗?
  • 是否可以在没有注释的情况下实现服务?
  • SOA 和 Web 服务有什么区别?

谢谢。

【问题讨论】:

标签: java web-services


【解决方案1】:

我应该从哪个soap实现(Axis/CXF等)开始,这样 得到一个之后,我可以很容易地适应其他的肥皂实现吗?

这些是不同的(并且非常流行的)框架。您选择其中一个并使用它。交换框架既不习惯也不容易

是否有任何默认实现开始而不是切换 供应商特定的实现?

不知道你在这里的意思。 Java 已经为 Web 服务定义了一个 JSR 并且有 Metro 作为参考实现,所以任何不使用的东西,例如特定于 Glassfish 部署将被视为非供应商特定。
我建议您使用Axis 2CXF,因为它们是非常流行的框架并且有很多在线教程。

是否有任何书籍可以提供有关 这些实现?

有很多资源,但您需要研究更具体的内容。
如果你选择Axis 2CXF,你会发现很多在线教程

你真的认为它(JAX-RPC)已经完全过时了吗?我认为 您还需要了解它的基础知识,以支持现有的 服务。不是吗?

是的,它已经过时了。这是旧规范。不需要调查它。

是否可以在没有注解的情况下实现服务?

当然是。所有教程通常都展示了使用注释启动 Web 服务以及从 WSDL 启动 Web 服务的示例,即您首先创建一个 WSDL 并自动生成 Web 服务(存根)

SOA 和 Web 服务有什么区别?

Web 服务被用作提供SOA 的一种实现技术。
没有一本书具体说明这两种技术之间的区别,因为一种是另一种的实现组件。如果您需要了解SOA,这里有很多书籍。这个问题是关于书籍推荐的吗?

【讨论】:

  • 感谢 Cratylus 但您的回复更笼统而不是具体!!! - 那么我应该使用与 Metro/Glassfish 相关的哪个参考? - 请建议书名。 - 对于没有注释的实现,请分享一些不错的链接/书籍参考。 - 有什么好的书/文章可以解释 SOA 和 Web 服务之间的区别吗?
  • 现在好多了,但是有书推荐。再来一个查询... 从代码创建 Web 服务时,是否可以在没有注释的情况下创建?
  • @sHAILU:我会考虑推荐一本书。通常要么从Java代码开始,使用注释创建WSDL,要么从WSDL开始,自动生成Java类。所以使用框架注释的标准便捷方法是强制性的。但是 Web 服务通常是通过 HTTP 封装的 XML(SOAP + 应用程序数据)。可以在不使用任何注释的情况下编写 Web 服务。即部署一个 HTTP 服务器并自己处理解析。如果您不了解这些技术,这将更加困难和耗时
【解决方案2】:

我应该从哪个soap实现(Axis/CXF等)入手,这样我在得到一个之后可以轻松适应其他soap实现?

如果您希望能够从一个 impl 适应另一个,则需要使用纯 JAX-WS API。实际上,您可以从 JDK 中的 JAX-WS impl 开始,然后迁移到 CXF r Metro(也许 Axis 2,Axis2 不像 CXF 和 Metro 那样经过 JAX-WS 认证),因为您的需求发生了变化或需要其他功能。

您还可以在以下位置查看我的类似答案:

Difference between Apache CXF and Axis

是否有任何默认实现开始而不是切换到供应商特定的实现?

JAX-WS 在 JDK 中,然后到 CXF 或 Metro。

是否有任何书籍可以提供有关这些实现的分步信息?

CXF 资源和文章页面列出了两本书,其中一本涵盖了 CXF 和 Axis2。

http://cxf.apache.org/resources-and-articles.html

你真的认为它(JAX-RPC)已经完全过时了吗?我认为您也需要了解它的基础知识才能为现有服务提供支持。不是吗?

已过时。不用担心。

是否可以不加注解实现服务?

使用 CXF,是的,但使用注释肯定更好。注释提供了对运行时发生的事情、wsdl 的创建方式(如果进行 java 首次开发)等方面的更多控制......

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 2017-01-02
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 2013-09-06
    相关资源
    最近更新 更多