快速业务通道

Java Web服务,第3部分: Axis2数据绑定 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
l) { System.out.println("No book found with ISBN ''" + isbn + ''\''''); } else { System.out.println("Retrieved ''" + book.getTitle() + ''\''''); } // retrieve the list of types defined GetTypesResponse tresp = stub.getTypes(new GetTypesRequest()); Type[] types = tresp.getTypes(); System.out.println("Retrieved " + types.length + " types:"); for (int i = 0; i < types.length; i++) { System.out.println(" ''" + types[i].getName() + "'' with " + types[i].getCount() + " books"); } // add a new book String title = "The Dragon Never Sleeps"; isbn = "0445203498"; try { AddBookRequest abr = new AddBookRequest("scifi", isbn, title, new String[] { "Cook, Glen" }); stub.addBook(abr); System.out.println("Added ''" + title + ''\''''); title = "This Should Not Work"; abr = new AddBookRequest("scifi", isbn, title, new String[] { "Nobody, Ima" }); 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(new GetBooksByTypeRequest("scifi"), cb); long start = System.currentTimeMillis(); synchronized (cb) { while (!cb.m_done) { try { cb.wait(100); } catch (Exception e) {} } } System.out.println("Asynchronous operation took " + (System.currentTimeMillis()-start) + " millis"); if (cb.m_response != null) { Book[] books = cb.m_response.getBooks();

Java Web服务,第3部分: Axis2数据绑定(10)

时间:2011-04-09 IBM Dennis Sosnoski

清单 10 显示了对等的 JiBX 取消包装代码。和 ADB 取消包装代码类似,理解和使用服 务调用的取消包装形式比使用直接代码简单得多。JiBX 和 ADB 版本唯一重要的区别在于, 对于 JiBX,并不需要在不传递值时创建对象,而 getTypes() 调用的 ADB 版本则要求进行 此工作。JiBX 取消包装支持也比 ADB 版本更为稳定一些,因为从 Axis2 1.1.1 起就提供了 全面支持。

清单 10. JIBX 取消包装客户机代码

// create the server instance
JibxUnwrapLibraryStub stub = new JibxUnwrapLibraryStub(target);
// retrieve a book directly
String isbn = "0061020052";
Book book = stub.getBook(isbn);
if (book == null) {
  System.out.println("No book found with ISBN ''" + isbn + ''\'''');
} else {
  System.out.println("Retrieved ''" + book.getTitle() + ''\'''');
}
// retrieve the list of types defined
Type[] types = stub.getTypes();
System.out.println("Retrieved " + types.length + " types:");
for (int i = 0; i < types.length; i++) {
  System.out.println(" ''" + types[i].getName() + "'' with "

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号