【问题标题】:Spring bean as Web ServiceSpring bean 作为 Web 服务
【发布时间】:2013-04-05 12:25:29
【问题描述】:

对网络服务不熟悉。我有一个spring bean,我在其中使用了事务注释进行数据库操作。 现在我需要将 bean 中的一种方法公开为服务。 方法参数是 Hashmap 和一个 POJO(如 JPA 实体)对象。返回类型为HashMap。

实现它的最佳方法是什么。

  1. 使用 Axis2 直接公开 bean。
  2. 将 Spring-W 与 CXF 结合使用。
  3. 在接受字符串作为参数的新包装类中编写新方法。 (这些字符串实际上是原始 Map 和 POJO 所要求的)。 并按照原方法的要求,将这些字符串分别设置为POJO和Map中的属性和对象。

  4. 第三种方法在我的情况下不起作用,因为 Map 将包含几个需要存储在 DB 中的数组列表。所以我必须只使用 Map。

我应该使用 SOAP 还是 REST。 在我们的项目中,老团队已经使用 Axis2 提供了两个 Web 服务。 我们使用的是 spring 3(作为核心容器并用于 ORM)、Hibernate 模板、Tomcat 6。

【问题讨论】:

    标签: web-services spring cxf axis2 spring-ws


    【解决方案1】:

    嗯,这个问题最好自己回答。我们只能在这里给出提示,哪种框架和技术最适合您。为了提供任何提示,我们需要有关您的项目的更多信息。

    例如,SOAP 和 REST 是两种本质上不同的技术。 SOAP 协议必须使用 XML 作为信息介质,并且可以使用任何传输介质,例如HTTP、E-Mail、JMS 等。使用 SOAP,服务端点和客户端之间的契约(即 WSDL 规范)是接口描述。 REST 协议可以使用任何信息媒介,例如JSON、XML、YAML 等,但仅限于 HTTP 协议作为传输媒介。这里的DELETE、GET、POST等HTTP方法是接口描述。

    您说,您实际上是在使用 AXIS2。如果您对该框架的经验足够好,我建议您进一步使用它。 CXF 只是另一个不能与 Spring-WS 一起使用的 Web 服务框架(但它可以与 Spring 框架一起使用)。在这里,我认为每个框架都有其注意事项,需要一些时间来学习。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2012-05-14
      • 2023-04-01
      • 2011-07-23
      • 1970-01-01
      相关资源
      最近更新 更多