WEB开发网
开发学院软件开发Java Web 服务编程技巧与窍门: 协同使用集合与 SOAP 和... 阅读

Web 服务编程技巧与窍门: 协同使用集合与 SOAP 和 JAX-RPC

 2010-03-23 00:00:00 来源:WEB开发网   
核心提示:对于应用程序来说,操纵对象集合、将它们作为参数传入函数并在处理完成时返回它们是非常常见的,Web 服务编程技巧与窍门: 协同使用集合与 SOAP 和 JAX-RPC,在大部分编程语言中,都有许多方法来表示这些集合,JAX-RPC 规范没有为 LinkedList 类定义映射,相反,它们可以表示为有序的向量、无序的组、链

对于应用程序来说,操纵对象集合、将它们作为参数传入函数并在处理完成时返回它们是非常常见的。在大部分编程语言中,都有许多方法来表示这些集合。它们可以表示为有序的向量、无序的组、链表、树、图或编程语言支持的其他形式。Java 语言在 java.util 包中提供了一个完整的集合类型库。但问题是,您应该如何通过 Web 服务调用来传递集合?

我可以使用我喜欢的 Java 集合类型吗?

为了阐述使用标准 Java 集合类带来的一些问题,让我们假定您想要一个带有 getCustomers 操作的顾客服务。您可以创建一个 JavaBean,让它根据一些搜索标准返回 Customer 对象的集合。在对 Java 语言提供的集合类作了一番考察之后,您决定使用 java.util.LinkedList 类。您的 CustomerService 类可能看起来像 清单 1中的代码样本:

清单 1. 使用 LinkedList 的 CustomerService 类

import java.util.LinkedList; 
public class TheCustomerService { 
 public LinkedList getCustomers(String queryString) { 
 Customer customer1, customer2; 
 /* ... retrieve customers for query ... */ 
 LinkedList list = new LinkedList(); 
 /* iterate over the result set assigning to the list */ 
 list.add(customer1); 
 list.add(customer2); 
 return list; 
 } 
} 

下一步是将这个类作为 Web 服务公开,因此您选择遵循 JAX-RPC 的工具来生成所需的构件,比如描述服务接口的 WSDL 文件。现在麻烦就来了。JAX-RPC 规范没有为 LinkedList 类定义映射。相反,它提到每个实现都可以决定是否以及如何映射这个类、还有这个类的实例是如何序列化到 XML 和从 XML 序列化来。

1 2 3 4 5  下一页

Tags:Web 服务 编程技巧

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接