• webservice入门(1)


    前段时间学习了webservice的用法,虽然只是一些简单的用法,但是如果久了还是会忘记的,所以将学到了记录下来。

    一:schema和http协议。

       1.schema约束:

    schema规范中:
        1. 所有标签和属性都需要有schema文件来定义 
        2. 所有的schema文件都需要有一个id, 但在这里它叫namespace, 
        3. namespace的值由什么来指定?
            由targetNamespace属性来指定, 它的值是一个url(很有可能不存在)
        4. 如何引入一个Schema约束?
            属性? : 用xmlns属性
            属性值: 对应的schema文件的id(namespace值)
        eg:xmlns="http://www.w3.org/2001/XMLSchema"
    5. 如果引入的schema不是w3c组织定义, 必须指定schema文件的位置 6. schema文件的位置由什么属性来指定?     属性? : schemaLocation 属性值: namespace path 7. 如果引入了N个约束, 需要给n-1个取别名

      例子:book.xsd

    <xml version="1.0" encoding="UTF-8">
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.hotusm.com/bookSchema"
        elementFormDefault="qualified"    
        >
        <element name="书架">
            <complexType>
                <sequence maxOccurs="unbounded">
                    <element name="">
                        <complexType>
                            <sequence>
                                <element name="书名" type="string"/>
                                <element name="作者" type="string"/>
                                <element name="售价" type="string"/>
                            </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
    </schema>

    book.xml:

    <xml version="1.0" encoding="UTF-8">
    <书架 xmlns="http://www.hotusm.com/bookSchema"
         xmlns:dd="http://www.w3.org/2001/XMLSchema-instance"
         dd:schemaLocation="http://www.hotusm.com/bookSchema book.xsd"
        >
        <书>
        <书名>JAVA 开发</书名>
        <作者>hotusm</作者>
        <售价>20</售价>
        </书>
    </书架>

      2.http协议:

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

      请求头

      请求体只有post请求有

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

      响应头

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

    二:ws的一些基础知识:

    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
    根据生成的代码调用webService

    三:webservice中的几个重要术语

      3.1: WSDL:web service definition language

    直译 : WebService定义语言
    
    1. 对应一种类型的文件.wsdl
    2. 定义了web service的服务器端与客户端应用交互传递请求和响应数据的格式和方式
    3. 一个web service对应一个唯一的wsdl文档

      3.2SOAP:simple object  access protocal
      

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

      3.3SEI:WebService EndPoint Interface(终端)

    直译: web service的终端接口,
    
    1. 就是WebService服务器端用来处理请求的接口

      3.4CXF:Celtix + XFire

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

    上面就是最基本的ws的一些术语和使用到的另外一些技术了。

  • 相关阅读:
    JQuery判断CheckBox是否选中
    Ghost下的gho镜像分区工具
    JQuery提示$(...).on is not a function解决方法
    Jetty错误: badMessage: java.lang.IllegalStateException: too much data after closed for HttpChannelOverHttp@472adad9{r=2,c=false,a=IDLE,uri=}
    Linux下使用Shell过滤重复文本(转)
    JQuery给动态HTML绑定事件
    Chrome插件在页面上直接绑定JavaScript事件提示Refused to execute inline event handler because it violates the following Co
    解决——》java.lang.IllegalArgumentException: Body parameter 0 was null
    qhclass
    java类uuid源码分析
  • 原文地址:https://www.cnblogs.com/zr520/p/5118554.html
Copyright © 2020-2023  润新知