-
core
-
核心接口
- WebServiceMessage
- SoapMessage
-
OXM
- Object XML Mapping
- Security
-
XML
- 解析XML用的
-
WS-Support
- JMS
- EMail
-
WebService 介绍
-
特性
- 对XML的一对支持
- 配置简单,类似SpringMVC
- 安全性,支持加密
- 与SpringSecurity集成
-
运行环境
- jdk1.6+
- spring3.2+
- 结构图
-
支持的标准
- SOAP 1.1 and 1.2
- WSDL 1.1 and 2.0
-
协议优先
-
为啥?
- 因为以协议优先就类似于 java中的面向接口编程,
一个规范多种实现,在这体现为 一个协议 多种语言实现
-
WSDL
- 使用 xml 描述WebService 的语言规范
-
XML转换成对象的问题
- XML的表达式 转成 JAVA 可能会丢失 语义
- XML 需要兼顾不同的语言规范,Java 中的HashMap .Net中没有
- 循环图问题
- 性能问题
- 说白了就是,不要从代码 逆向到XML ,而是首先定义好XML 再提供代码实现
-
从协议开始
-
XSD文件
-
关键标签
- <xs:element name="HolidayRequest">
- <xs:complexType>
- <xs:sequence>
- <xs:all>
- <xs:element
- 顺序
-
约束
- 数据类型限制
- type="xs:date"
- type="xs:integer"
- type="xs:string"
-
WSDL文件
- 基于XSD文件生成不需要手写
-
快速构建 服务端
- 定义XSD文件 用来描述对象
- 使用Maven插件 逆向 到domain文件
-
核心注解
- @EndPoint
-
@PayloadRoot
- namespace
- localPart
- @RequestPayload
- @ResponsePayload
-
核心配置
-
注解
- @EnableWs
- @Configuration
-
核心bean
- XsdSchema
-
DefaultWsdl11Definition
- 将一个 XsdSchema 转换成 一个wsdl 发布出去
- 使用的 wsdl1.1 协议
- @Bean(name = "countries") 需要指定一个名称
-
ServletRegistrationBean
- MessageDispatcherServlet
- 基于SOAP请求的分发器
- 需要配置其拦截规则
- new ServletRegistrationBean(servlet, "/ws/*");