1、西北工业大学 软件工程 Web Services 实验报告答案 实验四西北工业大学*实验报告学 院: 软件与微电子学院 学号: 姓名: 专 业: 软件工程 实验时间: 2014.3.22 实验地点: 毅字楼311 指导教师: 李易 西北工业大学2014 年 3 月一、实验目的及要求 1练习如何优化开发环境。2练习如何调试一个web服务。二、实验设备(环境)及要求 1PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间2JDK1.5.03Eclipse 4Axis25axis2-eclipse-codegen-wizard-1.46. axis2-ant-plugin-1.3三、
2、实验内容与步骤1直接将类文件放入到Axis中。2使改变立即生效。3调试一个web服务。 4自动生成代码。5自动生成客户端代码。四、实验结果与数据处理1直接将类文件放入到Axis中右键单击该项目,然后选择New | Folder,如下所示: 要设置输出文件夹,右键单击Eclipse中的项目,然后选择“Properties”,然后选择“Java Build Path”,然后选择“Source”。 点击“Browse”,然后选择“out”的文件夹,后确认要删除现有的“bin”文件夹。 现在的类文件是在正确的地方。下一个步骤是使METAINF 文件夹出现在服务文件夹。 重命名“resources”文件
3、夹为META-INF,将其移动到“src”,要验证这个设置工作,修改代码将结果字符串转换成大写: 现在启动Axis2的服务器。运行客户端,输出如下所示:2使改变立即生效 恢复代码为: 但是现在它仍然会输出ABC123。这是因为在默认情况下,一旦Axis服务器加载一个Web服务,它不会监察到更改其文件了。要改变这个问题,修改c:axisconfaxis2.xml: 重新启动Axis服务器让hot update option生效,然后修改Java代码 保存代码,Axis服务器重新部署服务。需要注意的是,Axis服务器每10秒查找变化。因此,在Web服务重新部署前可能会花费一点时间。3调试一个web
4、服务 要调试Eclipse中的 Web服务,在启动Axis服务器之前需要设置一个环境变量: 通过这种方式,Axis服务器将在调试模式下运行JVM,这样JVM会侦听8000端口的连接。设置一个断点: 选择Open Debug Dialog: 会出现下面的窗口: 右键单击“Remote Java Application”,然后选择“New”,命名此配置为“Debug Axis”,确保SimpleService项目被选中,并确保端口是8000。 单击“Debug”连接到JVM,运行Axis服务器。现在,运行客户端来调用Web服务。 Eclipse会在断点处停止: 然后,你可以单步执行程序。如果要停止
5、调试,在调试窗口中选中SimpleService,单击“stop”。4自动生成代码 定义一个环境变量AXIS2_HOME,选择 “Window | Preferences |Ant | Runtime”,选择“Properties”,点击“Properties”。点击“Add Property”。现在,运行Ant。为了验证它是否真的工作,重命名SimpleServiceSkeleton.java文件为SimpleServiceImpl文件。然后删除包里所有其他Java文件。删除META-INF文件夹中的文件。错误警报:在Axis2代码生成向导中有一个bug。安装后,将无法在Eclipse中运行
6、Ant。要解决此问题,在上面的Ant 的Runtime窗口中,选择“Classpath”选项,然后单击“AntHome“,然后浏览选择c:eclipseplugins目录下的org.apache.ant文件夹。 要运行Ant,右键单击build.xml文件,然后选择“Run As | Ant Build.”如下图所示: 然后选择“generate-service”,然后单击“Run”: 控制台结果如下所示:然后刷新项目,你会看到Java文件和METAINF中的文件已重新建立。现在,理想情况下,如果你的WSDL文件被修改,你需要做的就是再次运行build.xml文件。但是这不是默认行为。默认情况
7、下,任务不会覆盖任何现有文件。但是,这带来了另一个问题:如果填写代码转换成SimpleServiceSkeleton,当运行build.xml文件,该文件将被覆盖,代码也将会消失。因此应该创建自己的实现相同接口的SimpleServiceImpl。为了使用SimpleServiceImpl来实现Web服务,需要知道Axis服务器是如何知道有哪些Java类实现了 webservice。它在services.xml文件中查找类名。5自动生成客户端代码 生成客户端代码,与上面类似。删除客户端包中除了自己创建的SimpleClient.java以外的文件 。运行build.xml并选择“generat
8、e-clien”。刷新这个项目,你会再次看到客户端软件包中的Java文件。为了确保一切工作,启动Axis服务器并运行客户端。它会继续工作。五、分析与讨论1若无需手动将相关文件拷贝到Axis服务器中的service文件夹中来发布一个服务,你该如何做? 在eclipse中把class文件直接插入到 Axis存储库。2为了保证你的Java代码的改变立刻生效,你该如何做? 修改c:axisconfaxis2.xml,重新启动Axis服务器让hot update option生效,然后修改Java代码,保存代码,Axis服务器重新部署服务。3如何调试一个web服务? (1)、在启动Axis服务器之前需要设置一个环境变量; (2)、设置一个断点; (3)、右键单击“Remote Java Application”,然后选择“New”,命名此配置为“Debug Axis”,确保SimpleService项目被选中,并确保端口是8000。 (40、单击“Debug”连接到JVM,运行Axis服务器。现在,运行客户端来调用Web服务。 Eclipse会在断点处停止。 (5)、然后,单步执行程序。六、教师评语签名:日期:成绩
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1