知识点webservice技术 webservice技术有哪些


知识点webservice技术 webservice技术有哪些

文章插图
1. 概述
  • 开发手段:使用JDK开发(1.6及以上版本)使用CXF框架开发(工作中)
  • 组成:服务器端客户端
2. 使用JDK开发WebService1).开发服务器端
  • Web Service编码:@WebService( SEI和SEI的实现类)@WebMethod(SEI中的所有方法)
  • 发布Web Service:Endpoint(终端, 发布webservice)
2). 开发客户端
  • 使用eclipse提供的web service浏览器访问查看对应的wsdl文档:…..?wsdl(一般浏览器)请求webService并查看请求和响应消息(webservice浏览器)
  • 创建客户端应用编码方式访问借助jdk的exe工具生成客户端代码:
wsimport -keep url //url为wsdl文件的路径
  • 借助生成的代码编写请求代码
3. 监听请求: 使用Eclipse的TCP/IP工具
  1. 将服务器端的WSDL文档保存到客户端本地
  2. 修改文档: 将端口号从8989改为8080
  3. 根据本地的wsdl文档生成客户端代码, 并编写客户端的调用代码
  4. 配置eclipse的TCP/IP,启动监听
5.执行客户端代码发送WebService请求
4. 调用免费的web service(天气预报)
  1. Google”免费WebService”, 找到提供天气预报Webservice的网络地址http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx
  2. 使用eclipse的web service浏览器访问
  3. 客户端编码方式访问借助命令工具自动生成客户端代码借助生成的代码编写请求代码
说明: 直接生成客户端代码会抛异常, 无法生成客户端代码, 解决办法:1. 将对应的wsdl文档保存到本地2. 修改wsdl文档的部分内容:将 <s:element ref=”s:schema” /><s:any /> 替换成 <s:any minOccurs=”2″ maxOccurs=”2″/>备注: 这个是Java调用net的webservice都有的问题5. 使用CXF开发web service加入cxf的jar包即可,其它不需要改动
6. WebService请求深入分析1). 分析WebService的WSDL文档结构1.1). 实例截图1.2). 文档结构<definitions><types><schema><element></types><message><part></message><portType><operation><input><output></portType><binding><operation><input><output></binding><service><port><address></service></definitions>1.3). 文档结构图
  • types– 数据类型(标签)定义的容器,里面使用schema定义了一些标签结构供message引用
  • message– 通信消息的数据结构的抽象类型化定义 。引用types中定义的标签
  • operation– 对服务中所支持的操作的抽象描述,一个operation描述了一个访问入口的请求消息与响应消息对 。
  • portType– 对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持 。
  • binding– 特定端口类型的具体协议和数据格式规范的绑定 。
  • service– 相关服务访问点的集合
  • port– 定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点 。
2). 测试CXF支持的数据类型
基本类型int,float,boolean等
引用类型String集合:数1组,List, Set, Map自定义类型 Student
3). 一次Web service请求的流程
一次web service请求的本质:
1) 浏览器向服务器端发送了一个soap消息(http请求+xml片断)
2) 服务器端处理完请求后, 向客户端返回一个soap消息
那么它的流程是怎样的呢?
7. CXF框架的深入使用1).CXF的拦截器
1.1) 理解
为什么设计拦截器?为了在webservice请求过程中,能动态操作请求和响应数据, CXF设计了拦截器.