Java Web服务,第3部分: Axis2数据绑定 - 编程入门网
; +
types[i].getCount() + " books");
}
// add a new book
String title = "The Dragon Never Sleeps";
isbn = "0445203498";
try {
stub.addBook("scifi", isbn, new String[] { "Cook, Glen" }, title);
System.out.println("Added ''" + title + ''\'''');
title = "This Should Not Work";
stub.addBook("xml", isbn, new String[] { "Nobody, Ima" }, title);
System.out.println("Added duplicate book - should not happen!");
} catch (AddDuplicateFaultException e) {
System.out.println("Failed adding ''" + title +
"'' with ISBN ''" + isbn + "'' - matches existing title ''" +
e.getFaultMessage().getBook().getTitle() + ''\'''');
}
// create a callback instance
BooksByTypeCallback cb = new BooksByTypeCallback();
// retrieve all books of a type asynchronously
stub.startgetBooksByType("scifi", cb);
long start = System.currentTimeMillis();
synchronized (cb) {
while (!cb.m_done) {
try {
cb.wait(100L);
} catch (Exception e) {}
}
}
System.out.println("Asynchronous operation took " +
(System.currentTimeMillis()-start) + " millis");
if (cb.m_books != null) {
Book[] books = cb.m_books;
Java Web服务,第3部分: Axis2数据绑定(11)时间:2011-04-09 IBM Dennis SosnoskiJiBX 取消包装支持在使用的类方面也与 ADB 有差别。当使用 ADB 取消包装时,所有消 息元素的类仍然在后台生成和使用。对于 JiBX,使用直接处理时必须将类定义为与消息元素 对应,如清单 9 中所示;对于取消包装处理,只有作为值传递的类需要在绑定定义中加以定 义和包括。无论采用哪种方法,JiBX 绑定定义都需要在运行 Axis2 WSDL2Java 工具前创建 ,而且需要使用 -Ebindingfile 命令行参数传入。 JiBX 绑定方法最大的缺陷(至少从 Web 服务方面可以这样说)可能就是,JiBX 目前对 从 XML 模式定义工作的支持非常微弱。不过,即使是 Xsd2Jibx 工具提供的这个微弱支持, 也尚未集成到 Axis2 WSDL2Java 代码生成中。这意味着需要在运行 WSDL2Java 生成 Axis2 链接代码前创建 Java 数据类和绑定定义。JiBX 所需的字节码增强步骤在某些环境中也可能 出现问题,因为通常需要在应用程序构建时进行此工作,可在类中得到没有源代码可用的代 码。 正如前面所提到的,JiBX 数据绑定提供了一些独特的好处。就 Axis2 使用而言,JiBX 也提供了优于其他框架的优势,即支持能够插入到 Axis2 版本中纠正发布之后发现的错误的 错误修复程序版本(有关详细信息,请参见参考资料部分的“获得相关产品和技术 ”)。对于其他框架,获取错误修复程序的唯一方式就是迁移到 Axis2 的更高版本, 而这样通常会带来其他问题。预计将来 JiBX 将提供稳定的从模式生成代码和绑定的支持。 到提供此功能的那一天,就可以将 JiBX 视为 Axis2 的优秀全能数据绑定备选方案了。到那 时,使用现有 Java 代码的做法将是最佳的,而 Jibx2Wsdl 工具恰恰在这方面提供了出色的 支持。 总结 Axis2 目前提供对三种不同数据绑定框架的全面支持: ADB 专门为 Axis2 设计,仅能用于 Axis2 环境中。对于 Axis2 1.3 版,提供了对从模 式生成代码的良好支持(并在不断改进)。另外还支持常规取消包装服务方法和自动附件处 理,从而使其成为了从现有 WSDL 服务定义着手时的首要选项。 XMLBeans 提供对在生 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |