web服务与应用开发流程 网络摘录

web服务与应用开发流程 网络摘录

ID:6074647

大小:69.50 KB

页数:7页

时间:2018-01-02

web服务与应用开发流程    网络摘录_第1页
web服务与应用开发流程    网络摘录_第2页
web服务与应用开发流程    网络摘录_第3页
web服务与应用开发流程    网络摘录_第4页
web服务与应用开发流程    网络摘录_第5页
资源描述:

《web服务与应用开发流程 网络摘录》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、WebService学习第四期1、开始主题功能1.1、新建一个动态Web项目1.2、依次编写schema(schema是标准然后根据schema编写wsdl)、wsdl;然后生成接口并且编写实现类1.2.1、新建文件夹META-INF、META-INFàwsdl和user.xsd注意:将schema统一加上命名空间前缀xsd1.2.2、新建WSDLuser.wsdl依次编写WSDL的五个部分1.2.3、通过刚刚写好的WSDL文件生成服务端的java接口文件进入WSDL文件所在的目录wsimport-d

2、D:wsimport7s-keep-verboseuser.wsdl将生成的代码拷贝到项目的src文件夹下之后删除除了IUserService.java的其它文件修改IUserService.java的代码:删除ObjectFactory@XmlSeeAlso({ObjectFactory.class})在项目中添加User类PS注意:其实像User这种类都是我们项目中本来就应该有的东西,我们刚刚编写WSDL也好,之前编写的以代码优先的服务也好,都只是为我们本来已有的项目提供了对外的Web服务接

3、口而已。继续修改IUserService.java添加对User的包引用1.2.4、编写实现类根据接口新建实现类UserServiceImpl.java很重要的一步是编写实现类的WebServiceAnnotation(用于绑定服务接口以及WSDL)@WebService(endpointInterface="cn.edu.zttc.service.IUserService",wsdlLocation="META-INF/wsdl/user.wsdl",serviceName="UserService

4、",//wsdl中的nametargetNamespace="http://service.zttc.edu.cn"//把IUserService的命名空间拷贝过来)1.2.5、新建MyService类发布服务1.2.6、导出客户端在MyService类中启动服务此时在

5、浏览器中输入地址:http://localhost:9898/us?wsdl既可以访问WSDL通过地址导出客户端代码wsimport-dD:wsimport7c-keephttp://localhost:9898/us?wsdl此时因为使用JavaApplication发布的服务,所以如果WSDL和schema如果是分离的就会发生找不到schema的情况,如果改用Tomcat发布服务就没问题。为了继续,先将schema的内容拷贝到WSDL中之后再次生成客户端新建一个客户端项目并且将生成的客户端代

6、码拷贝到src目录1.2.7、实现接口新建dao层包org.zttc.dao在包中新建UserDao类编写UserDao发布服务1.2.8、再次生成客户端并且编写TestService类wsimport-dD:wsimport7c-keephttp://localhost:9898/us?wsdl新建包org.zttc.test和TestService类TestService的代码如下2、善后处理2.1、异常处理2.2.1、处理代码端新建异常类UserException之后在UserExcept

7、ion中生成超类的构造方法在UserDao中的add函数和login添加异常处理2.2.2、处理WSDL在schema中添加异常类型为portType设置异常add和login会抛出异常所以设置这两个方法为binding添加异常(异常应该以什么样的格式来设置,以什么样的编码格式来传递呢)重新生成IUserServicewsimport-dD:wsimport7s-keep-verboseuser.wsdl去掉将UserException_Exception换成UserException重新生成客

8、户端wsimport-dD:wsimport7c-keephttp://localhost:9898/us?wsdl可以看到再执行add和login方法的时候编译器会提示添加异常处理将异常处理加上重新启动服务在客户端执行两次testAdd函数应该就会触发异常程序中断了,服务器端抛出了异常之后终止了;而我们想要的是服务器端抛出一个异常然后被JAX截获,创建一个fault对象出来,然后把fault对象通过SOAP传递到客户端,不应该在向服务器的上层抛了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。