快速业务通道

用JAXM开发Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
auth=temps.getChildElements(name);     while(auth.hasNext())     {      SOAPElement tempp=(SOAPElement)auth.next();      //System.out.println("author:"+tempp.getValue());      au.add(tempp.getValue());     }     bookVo.setAuthors(au);     ret.add(bookVo);     }     bookVos=ret;    }    catch(Exception ex)    {     ex.printStackTrace();   //错误处理…    }   } }

用JAXM开发Web服务(12)

时间:2011-02-07 IBM 陈亚强

注意上面例子中的①之类的标号,对应如图6所示的元素。

用JAXM开发Web服务 - 编程入门网

图6 SOAP消息

如上所示,在开发中,为了减少层之间的耦合性,我们一般不把SOAP消息直接发送到GUI客户端,而是先处理,把它转换成Java的基本数据类型或者Collection等类型。

GUI客户端

最后我们看一下GUI客户端怎么使用JAXMDelegate来调用业务。

例程17 BookClientGUI部分代码

… public class BookClientGUI { JTable table;//表格 … int amount;    Collection books;//表示的数据    BookBusiness business; JButton search,findAll,findByCategory; public BookClientGUI() {   business=new JAXMDelegate();//生成一个JAXMDelegate,   books=business.getAllBooks();//获得所有的图书信息   //amount=books.size();   //System.out.println(amount); } public static void main(String[] args) {   new BookClientGUI().go(); } public void go() { findByCategory=new JButton("按类别查找"); findByCategory.addMouseListener(new _MouseListener()); … } public void showResult() {   clearTable();     Iterator book_i=books.iterator();    … } public void clearTable() { … } class _MouseListener extends MouseAdapter {   public void mouseClicked(MouseEvent e)   { if(((JButton)e.getSource()).getLabel().equals("按类别查找"))   {    books=business.getBookByCategory((String)jTextField.getText());    showResult();   }    … } }

JAXMDelegate实现了BookBusiness接口,BookClientGUI持有BookBusiness的实例,它通过这个实例来获得信息。BookBusiness返回的信息都是java.util.Collection,这样,给我们编程带来了极大的便利性。

用JAXM开发Web服务(13)

时间:2011-02-07 IBM 陈亚强

总结

本文结合一个具体的案例,介绍了使用JAXM来构造Web服务的方法。需要强调的是,如果使用点对点的消息发送模型,那么服务端Servlet必须实现ReqRespListener接口,onMessage()方法将是开发服务端Servlet的重点任务。客户端编程中,将按照以下步骤进行:

创建 SOAP 连接

创建 SOAP 消息

在SOAP消息里增加数据

发送消息

对SOAP应答进行处理

下一步

经过以上的逐步的解释,相信读者对JAXM编程已经有一个比较深入发了解。您可以在这里。

可以看出,通过使用一定的设计模式和接口,我们可以减少各层之间的耦合,在下一篇中,我将继续深入分析JAXM设计的体系结构和模式。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号