必做实验实验一Web服务开发环境配置(2课时)一、实验目的1.学习理解web服务的概念。
2.掌握Web服务开发环境的配置。
3.熟悉Web服务开发工具的使用。
二、实验内容1.安装配置Eclipse;2.安装配置Axis2;3.为Eclipse安装配置Axis2插件;4.查阅帮助文档,熟悉开发环境。
三、实验仪器、设备PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间四、实验原理1.Eclipse平台Eclipse是一个开放源代码的、基于Java 的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
基于Eclipse的应用程序的突出例子是IBM的WebSphere Studio Workbench,它构成了IBM Java 开发工具系列的基础。
例如,WebSphere Studio Application Developer添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。
2.Axis2是下一代Apache Axis。
Axis2虽然由Axis 1.x处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。
Axis2基于新的体系结构进行了全新编写,而且没有采用Axis 1.x的常用代码。
支持开发Axis2的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关Web服务标准和协议(如WS-Security、WS-ReliableMessaging 等)的实现中。
Axis2的主要优点有1)采用名为AXIOM(AXIs Object Model)的新核心XML处理模型,利用新的XML 解析器提供的灵活性按需构造对象模型。
2)支持不同的消息交换模式。
目前Axis2支持三种模式:In-Only、Robust-In和In-Out。
In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP 请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。
3)提供阻塞和非阻塞客户端API。
4)支持内置的Web服务寻址(WS-Addressing)。
5)灵活的数据绑定,可以选择直接使用AXIOM,使用与原来的Axis相似的简单数据绑定方法,或使用XMLBeans、JiBX或JAXB 2.0等专用数据绑定框架。
6)新的部署模型,支持热部署。
7)支持HTTP,SMTP,JMS,TCP传输协议。
8)支持REST (Representational State Transfer)。
五、实验步骤(略)见《Developing Web Services with Apache Axis2》P10-P26六、实验思考题1.什么是Web服务?2.Web服务开发环境主要有哪些?3.请查阅各Web服务开发环境的性能。
实验二理解一个简单的Web服务界面(2课时)一、实验目的1.学习RPC(远程过程调用)及文档风格的web服务。
2.掌握服务函数、接口类型、绑定、端口、目标命名空间等基本概念。
3.理解WSDL的概念。
二、实验内容1.学习并对比RPC(远程过程调用)及文档风格的web服务。
2.深入理解服务函数、接口类型、绑定、端口、目标命名空间及WSDL等基本概念。
三、实验仪器、设备PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间四、实验原理1.RPC(远程过程调用)风格的web服务。
2.文档风格的web服务。
3.服务函数4.接口类型5.绑定6.端口7.目标命名空间8.WSDL五、实验步骤(略)见《Developing Web Services with Apache Axis2》P10-P26六、实验思考题1.命名空间和终端有何区别?2.什么是远程过程调用?3.什么是服务函数?服务请求和服务响应?4.什么是接口类型、绑定、端口、目标命名空间?5.什么是WSDL?实验三实施一个Web服务(6课时)一、实验目的1.练习实验环境的搭建。
2.练习一个web服务的实施,包括创建一个web服务、部署一个web服务和调用一个web服务。
3.练习取消(收回)一个web服务。
二、实验内容1.练习实验环境的搭建。
2.练习用可视化的方法(或其它方法)生成WSDL文件。
3.校验WSDL文件。
4.生成服务桩。
5.实施web服务。
6.部署并查看web服务。
7.用客户桩产生客户端。
8.实施并运行web服务。
9.取消(收回)web服务。
三、实验仪器、设备和环境1.PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2.JDK1.5.03.Eclipse4.Axis25.axis2-eclipse-codegen-wizard-1.4四、实验原理1.Axis服务器。
2.SOAP消息。
3.服务桩4.客户桩5.实施web服务6.部署web服务7.取消(收回)web服务五、实验步骤(略)见《Developing Web Services with Apache Axis2》P28-P60六、实验思考题1.服务桩和客户桩的作用各是什么?2.为什么要写客户桩?客户桩是必须的么?如果不写客户桩行吗?实验四优化开发环境(2课时)一、实验目的1.练习如何优化开发环境。
2.练习如何调试一个web服务。
二、实验内容1.直接将类文件放入到Axis中。
2.使改变立即生效。
3.调试一个web服务。
4.自动生成代码。
5.自动生成客户端代码。
三、实验仪器、设备和环境1.PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2.JDK1.5.03.Eclipse4.Axis25.axis2-eclipse-codegen-wizard-1.46. axis2-ant-plugin-1.3四、实验原理1.输出文件夹。
2.调试模式。
3.JVM4.断点五、实验步骤(略)见《Developing Web Services with Apache Axis2》P62-P76六、实验思考题1.若无需手动将相关文件拷贝到Axis服务器中的service文件夹中来发布一个服务,你该如何做?2.为了保证你的Java代码的改变立刻生效,你该如何做?3.如何调试一个web服务?实验五实现调用过程(3课时)一、实验目的练习如何使用TCP Monitor来观察SOAP消息。
二、实验内容1.不使用客户桩调用一个web服务。
2.观察SOAP消息。
三、实验仪器、设备和环境1.PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2.JDK1.5.03.Eclipse4.Axis25.axis2-eclipse-codegen-wizard-1.46.tcpmon-1.0-Bin四、实验原理1.AXIOM界面。
2.TCP Monitor。
3.SOAP消息。
五、实验步骤(略)见《Developing Web Services with Apache Axis2》P78-P84六、实验思考题1.若不使用一个产生的客户桩来调用一个web服务,你该如何做?2.如何检查SOAP消息?实验六实现多个参数的调用(5课时)一、实验目的练习如何在web服务实现类中接受多个参数。
二、实验内容1.在web服务实现类中接受多个参数。
2.互用性。
三、实验仪器、设备和环境1.PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2.JDK1.5.03.Eclipse4.Axis2四、实验原理1.多参数。
2.互用性。
五、实验步骤(略)见《Developing Web Services with Apache Axis2》P85-P93选做实验实验一发送和接收复合数据结构一、实验目的练习如何从一个web服务中发送和接收复合数据结构。
二、实验内容1.在web服务中提供产品查询。
2.避免类型后缀。
3.在一个消息中发送多个数据。
4.返回错误。
5.使用编码。
6.参考存在的XML元素。
7.使用HTTP检索WSDL文件。
三、实验仪器、设备和环境1.PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2.JDK1.5.03.Eclipse4.Axis2四、实验原理1.复合数据结构2.XML模式元素3.错误信息4.复合数据结构5.XML模式元素6.错误信息7.映射8.XML结构定义XSD9.Import元素10.WSDL解析器五、实验步骤(略)见《Developing Web Services with Apache Axis2》P95-P122 六、实验思考题1.如何对你的操作报错?2.如何表示复杂的数据结构?实验二发送二进制文件一、实验目的练习如何在一个web服务中接收返回和二进制文件。
二、实验内容1.在web服务中提供产品的图片。
2.在服务中使用enableMTOM参数。
3.互用性。
三、实验仪器、设备和环境1.PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2.JDK1.5.03.Eclipse4.Axis2四、实验原理1.XML-binary Optimized Packaging (XOP)2.MTOM五、实验步骤(略)见《Developing Web Services with Apache Axis2》P123-P130六、实验思考题1.何谓XOP和MTOM?它们的作用是什么?2.如何使用MTOM来发送二进制文件?实验三请求长操作一、实验目的练习如何处理一个包含可能要花几天的时间才能完成的手动处理过程的web服务。
二、实验内容1.在web服务中提供长操作。
2.为商业注册创建WSDL。
3.为长操作创建一个新的进程。
4.创建一个异步客户端。
5.检查WS寻址标题字组。
6.避免对消息接收者的修改。
三、实验仪器、设备和环境1.PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2.JDK1.5.03.Eclipse4.Axis2四、实验原理1.长操作2.DO_ASYNC标记3.标题字组4.长操作2.DO_ASYNC标记3.标题字组五、实验步骤(略)见《Developing Web Services with Apache Axis2》P131-P147六、实验思考题1.何谓XOP和MTOM?它们的作用是什么?2.如何使用MTOM来发送二进制文件?实验四用Tomcat和spring来集成web服务一、实验目的练习如何在tomcat中运行Axis服务器来让你的web服务调用Spring bean中的商业逻辑。
二、实验内容1.axis服务器作为一个小型的web服务器。
2.安装tomcat。
3.在tomcat中运行axis服务器。