0

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

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

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

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

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

4

1 回答 1

1

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

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

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

于 2013-04-22T13:11:23.817 回答