1.1. Schema约束

几个重要知识:

  1. namespace

      相当于schema文件的id

  1. targetNamespace属性

      用来指定schema文件的namespace的值

  1. xmlns属性

      引入一个约束, 它的值是一个schema文件的namespace

  1. schemaLocation属性

      用来指定引入的schema文件的位置

 

schema规范中:

    1. 所有标签和属性都需要有schema文件来定义

    2. 所有的schema文件都需要有一个id, 但在这里它叫namespace,

    3. namespace的值由什么来指定?

      由targetNamespace属性来指定, 它的值是一个url(很有可能不存在)

    4. 如何引入一个Schema约束?

      属性: xmlns属性

      属性值: 对应的schema文件的id(namespace)

    5. 如果引入的schema不是w3c组织定义, 必须指定schema文件的位置

    6. schema文件的位置由什么属性来指定?

      属性: schemaLocation

      属性值: namespace  path

    7. 如果引入了N个约束, 需要给n-1个取别名

   

 

1.2. HTTP协议

几个重要知识:

    1. 请求的组成:
          请求行(请求方式  path  http1.1)

       请求头

          请求体: 只有post请求有

    2. 响应的组成
          响应状态行:

          响应头

          响应体 : 浏览器解析显示的数据

    3. 请求的过程

 
2. 
 面试问题 

 

  1.webservice相当于HTTP+?+?

    ? : xml

    ? : schema

  2.wsdl是什么?

    webservice定义语言, 对应.wsdl文档, 一个webservice会对应一个唯一的wsdl文档,

    定义了客户端与服务端发送请求和响应的数据格式和过程

  3.如何发布一个webservice?

    定义SEI   @webservice @webMethod

    定义SEI的实现

    发布:  Endpoint.publish(url, SEIImplObject)

 

  4.  如何请求一个webservice?

    1.根据wsdl文档生成客户端代码  jdk/cxf

    2.根据生成的代码调用webService

 

3. 关于Web Service的几个问题

3.1. Web service是什么?

 

  1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据)

  2. 一个跨语言、跨平台的规范(抽象)

  3. 多个跨平台、跨语言的应用间通信整合的方案(实际)

 

  以各个网站显示天气预报功能为例:

    气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 

    而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client).

    网站提供了天气预报的服务,但其实它们什么也没有做,

    只是简单了调用了一下气象中心服务器上的一段代码而已

  

3.2. 为什么要用Web service

  web service能解决:

    跨平台调用

    跨语言调用

    远程调用

 

 

3.3. 什么时候使用web Service?

  1. 同一家公司的新旧应用之间

  2. 不同公司的应用之间

    分析业务需求:天猫网与中通物流系统如何交互?

  3. 一些提供数据的内容聚合应用:天气预报、股票行情

  

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

4.1. WSDLweb service definition language

  直译 : WebService定义语言

  1. 对应一种类型的文件.wsdl

  2. 定义了web service的服务器端与客户端应用交互传递请求和响应数据的格式和方式

  3. 一个web service对应一个唯一的wsdl文档



4.2. SOAPsimple object  access protocal

  直译: 简单对象访问协议

  1. 是一种简单的、基于HTTPXML的协议, 用于WEB上交换结构化的数据
  2. soap消息:请求消息响应消息

    http+xml片断


4.3. 
SEIWebService EndPoint Interface(终端) 

直译: web service的终端接口,

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

  @Webservice

  @WebMethod


4.4. 
CXFCeltix + XFire 

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

 

5. 开发webservice

5.1. 概述  

  • 开发手段:

    – 使用JDK开发(1.6及以上版本) 

    – 使用CXF框架开发(工作中) 

  • 组成:

    – 服务器端

    – 客户端

 

5.1. 使用JDK开发WebService

1).开发服务器端

  • Web Service编码:

    – @WebService( SEISEI的实现类)

    – @WebMethod(SEI中的所有方法)

 1 import javax.jws.WebMethod;
 2 import javax.jws.WebService;
 3 
 4 /**
 5  * SEI
 6  * @author Administrator
 7  *
 8  */
 9 @WebService
10 public interface HelloWs {
11 
12     @WebMethod
13     public String sayHello(String name);
14 }
Interface

相关文章:

  • 2021-10-27
  • 2021-08-16
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2021-05-02
  • 2021-08-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-11
  • 2021-05-28
  • 2022-12-23
  • 2021-10-28
相关资源
相似解决方案