Web 服务编程技巧与窍门: 协同使用集合与 SOAP 和 JAX-RPC
2010-03-23 00:00:00 来源:WEB开发网对于应用程序来说,操纵对象集合、将它们作为参数传入函数并在处理完成时返回它们是非常常见的。在大部分编程语言中,都有许多方法来表示这些集合。它们可以表示为有序的向量、无序的组、链表、树、图或编程语言支持的其他形式。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 序列化来。
- ››Web服务器和应用服务器的区别
- ››web安全之信息刺探防范1
- ››webqq 最新加密算法
- ››webdriver 数据库验证方法
- ››服务层
- ››WebSphere Application Server 7.0 XML Feature P...
- ››Web2.0网络时代基于社会影响力的声望值
- ››Web服务器搭建:配置Linux+Apache+Mysql+PHP(或Pe...
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
- ››WebBrowser组件的execWB方法——Delphi控制浏览器...
赞助商链接