webservice学习笔记

1.Web service 是什么?

       基于Web 的服务:服务器端整出一些资源让客户端应用访问(获取数据)
       一个跨语言、跨平台的规范(抽象)
       多个跨平台、跨语言的应用间通信整合的方案(实际)

2. 为什么要用Web service?

      web service 能解决:
      跨平台调用
      跨语言调用
      远程调用

3. 什么时候使用web Service?

      同一家公司的新旧应用之间
      不同公司的应用之间分析业务需求:天猫网与中通物流系统如何交互?
      一些提供数据的内容聚合应用:天气预报、股票行情

4. Web Service 中的几个重要术语

      4.1. WSDL:web service definition language  直译 : WebService 定义语言

                   对应一种类型的文件.wsdl

                  定义了web service 的服务器端与客户端应用交互传递请求和响应数据的格式和方式
                  一个web service 对应一个唯一的wsdl 文档

      4.2. SOAP:simple object access protocal     直译: 简单对象访问协议

                 是一种简单的、基于HTTP 和XML的协议, 用于在WEB 上交换结构化的数据
                 soap 消息:请求消息和响应消息
                 http+xml 片断

     4.3. SEI:WebService EndPoint Interface        直译: web service 的终端接口,

                就是WebService 服务器端用来处理请求的接口

                在使用CXF调用客户端代码时出现如下异常,原因未知怀疑是导入的jar包有冲突,留待以后解决

     4.4. CXF:Celtix + XFire

                一个apache 的用于开发webservice 服务器端和客户端的框架

 5. 开发webservice

      5.1. 概述

                • 开发手段:
                – 使用JDK 开发(1.6 及以上版本)
                – 使用CXF 框架开发(工作中)
               • 组成:
               – 服务器端
               – 客户端

     5.2. 使用JDK 开发WebService

           开发服务器端
               • Web Service 编码:
                      – @WebService( SEI 和SEI 的实现类)

                      – @WebMethod(SEI 中的所有方法)
               • 发布Web Service:
                      – Endpoint(终端, 发布webservice)

           开发客户端
                • 使用eclipse 提供的web service 浏览器访问
                          – 查看对应的wsdl 文档:…..?wsdl (一般浏览器)
                          – 请求webService 并查看请求和响应消息(webservice 浏览器)
                • 创建客户端应用编码方式访问
                          – 借助jdk 的wsimort.exe 工具生成客户端代码:  wsimport -keep url //url 为wsdl 文件的路径
                          – 借助生成的代码编写请求代码

      5.3 使用CXF 开发web service

          加入cxf 的jar 包即可,其它不需要改动

                      -生成客户端代码时用wsdl2java  而不用wsimport

在调用地址为http://www.webxml.com.cn/WebServices/WeatherWebService.asmx  的天气服务时出现如下异常,未解决怀疑是导入的包有冲突导致


警告: Interceptor for {http://WebXml.com.cn/}WeatherWebService#{http://WebXml.com.cn/}getWeatherbyCityName has thrown exception, unwinding now

org.apache.cxf.binding.soap.SoapFault: No namespace on "html" element. You must send a SOAP message.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值