




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web Service 学习第四期1、开始主题功能1.1、新建一个动态Web项目1.2、依次编写schema(schema是标准然后根据schema编写wsdl)、wsdl;然后生成接口并且编写实现类1.2.1、新建文件夹META-INF、META-INFwsdl和user.xsd注意:将schema统一加上命名空间前缀xsd1.2.2、新建WSDL user.wsdl依次编写WSDL的五个部分1.2.3、通过刚刚写好的WSDL文件生成服务端的java接口文件进入WSDL文件所在的目录wsimport -d D:wsimport07s -keep -verbose user.wsdl将生成的代码拷贝到项目的src文件夹下 之后删除除了IUserService.java的其它文件修改IUserService.java的代码:删除ObjectFactoryXmlSeeAlso( ObjectFactory.class ) 在项目中添加User类PS注意:其实像User这种类都是我们项目中本来就应该有的东西,我们刚刚编写WSDL也好,之前编写的以代码优先的服务也好,都只是为我们本来已有的项目提供了对外的Web服务接口而已。继续修改IUserService.java 添加对User的包引用1.2.4、编写实现类根据接口新建实现类UserServiceImpl.java很重要的一步是编写实现类的Web Service Annotation(用于绑定服务接口以及WSDL)WebService(endpointInterface=.zttc.service.IUserService, wsdlLocation=META-INF/wsdl/user.wsdl, serviceName=UserService,/wsdl中wsdl:definitions name=UserService的nameportName=UserServicePort,/的name targetNamespace= /把IUserService的命名空间拷贝过来)1.2.5、新建MyService类发布服务1.2.6、导出客户端在MyService类中启动服务此时在浏览器中输入地址:http:/localhost:9898/us?wsdl 既可以访问WSDL通过地址导出客户端代码wsimport -d D:wsimport07c -keep http:/localhost:9898/us?wsdl此时因为使用JavaApplication发布的服务,所以如果WSDL和schema如果是分离的就会发生找不到schema的情况,如果改用Tomcat发布服务就没问题。为了继续,先将schema的内容拷贝到WSDL中之后再次生成客户端新建一个客户端项目并且将生成的客户端代码拷贝到src目录1.2.7、实现接口新建dao层包 org.zttc.dao在包中新建UserDao类编写UserDao发布服务1.2.8、再次生成客户端并且编写TestService类wsimport -d D:wsimport07c -keep http:/localhost:9898/us?wsdl新建包org.zttc.test和TestService类TestService的代码如下2、善后处理2.1、异常处理2.2.1、处理代码端新建异常类UserException之后在UserException中生成超类的构造方法在UserDao中的add函数和login添加异常处理2.2.2、处理WSDL在schema中添加异常类型为portType设置异常add和login会抛出异常所以设置这两个方法为binding添加异常(异常应该以什么样的格式来设置,以什么样的编码格式来传递呢)重新生成IUserServicewsimport -d D:wsimport07s -keep -verbose user.wsdl去掉将UserException_Exception 换成UserException重新生成客户端wsimport -d D:wsimport07c -keep http:/localhost:9898/us?wsdl可以看到再执行add和login方法的时候编译器会提示添加异常处理将异常处理加上重新启动服务在客户端执行两次testAdd函数应该就会触发异常程序中断了,服务器端抛出了异常之后终止了;而我们想要的是服务器端抛出一个异常然后被JAX截获,创建一个fault对象出来,然后把fault对象通过SOAP传递到客户端,不应该在向服务器的上层抛了。之所以出现这种情况就是因为我们的UserException异常类继承自了RuntimeException了(运行时刻异常)将上述错误改正,让UserException继承自Exception之后在服务器端的org.zttc.dao.UserDao类和.zttc.servic. UserServiceImpl类的方法中就要做相应的异常处理了public User login(String username, String password) if(!users.containsKey(username) throw new UserException(用户不存在); User u = users.get(username); if(!password.equals(u.getPassword() throw new UserException(用户密码不正确); return u; 进行相应的异常处理之后进行测试执行两次testAdd客户端控制台输出说明异常被处理了一下是从Tcpmon中截获的有关异常处理的SOAP报文虽然由于编码问题输出了乱码但是可以推测出 鐢埛宸茬粡瀛樺湪应该是 用户已存在3、在Web服务器中发布服务3.1、将META-INFwsdl的目录及其下面wsdl和xsd拷贝到我们Web项目的WEB-INF目录下之后就可以在WSDL中使用导入schema的方式了(之前是因为用JavaApplication发布的原因,所以将wsdl中types下面的schema全都写到了WSDL中)D:项目学习 workspaceworkspace07_soaWebContentWEB-INFwsdlwsimport -d D:wsimport07s -keep user.wsdl将IUserService接口拷出来,覆盖下图中的3.2、修改实现类UserServiceImpl将webservice的annotation下的wsdlLocation属性目录修改为WEB-INFWebService(endpointInterface=.zttc.service.IUserService, wsdlLocation=META-INF/wsdl/user.wsdl, WebService(endpointInterface=.zttc.service.IUserService, wsdlLocation=WEN-INF/wsdl/user.wsdl, 3.3、在WEB-INF下创建sun-jaxws.xml文件在这个文件下配置endpoint 3.4、配置web.xml3.4.1、导入JAX-RI包将jaxws-ri-2.2.5包中lib目录下的文件拷贝到WEB-INF下的lib目录3.4.2、加入监听器以及servlet注意:.zttc.service目录下不要有.class文件,否则在启动Tomcat时会报错之后启动Tomcat服务器在浏览器里访问发布出去的wsdlht
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届黑龙江省鸡西市东方红林业局中学化学高一上期中综合测试试题含解析
- 商业步行街改造与城市公共服务设施配套评估报告
- 2025年冰雪运动培训基地冰雪运动装备租赁服务研究报告
- 2025年电商平台内容营销与种草经济市场前景展望报告
- 2025年短视频内容监管与平台社会责任评价体系创新实践报告
- 城市公共空间优化与低碳建设实践案例分析报告
- 2025年急救药品、设备的使用及管理试题(附答案)
- 国家开放大学电大本科《行政领导学》2025期末试题及答案
- 2025年整容知识试题及答案
- 2025年动物学鸟纲试题及答案
- 加油站资金安全知识培训课件
- 2025年专职网格员笔试题及答案
- 高中数学《新课程标准》考试试题及答案
- 2025年《医疗器械生产企业管理者代表管理指南》考核试题(含答案)
- GB/T 18268.1-2025测量、控制和实验室用的电设备电磁兼容性要求第1部分:通用要求
- 地铁站基坑施工监测方案
- 2025-2026年秋季学期教研工作计划及工作行事历
- 地质勘查人员职业技能鉴定经典试题含答案
- 物业外包方管理课件
- 卫星运行教学课件
- 初中分班班会课件
评论
0/150
提交评论