Spring Web Services 生成 WSDL 文件

更新日期: 2017-05-18 阅读次数: 13366 分类: Java

Spring Web Services 简称 Spring-WS.

关键词

  • document-driven Web services
  • contract-first SOAP service development
  • 支持将 incoming XML 请求映射到 object
  • 支持各种方式的 XML 解析
  • WS-Security 加密、解密 SOAP 协议

环境要求

Spring-WS 2.2.0

  • Java 1.6 以上
  • Spring 3.2 以上

WSDL 中复用 XSD 定义

<simpleType name="AirportCode">
    <restriction base="string">
        <pattern value="[A-Z][A-Z][A-Z]"/>
    </restriction>
</simpleType>

例如,一个 WSDL 文件中要多处用到一个数据类型,那么就可以 import xxx.xsd

Spring-WS 需要手写 WSDL 文件么

不需要,只需要写 XSD 文件 (实际上 XSD 也不需要手写,可以由 XML 自动生成,做些修改即可),并基于规则自动生成 WSDL 文件。

XML -> XSD -> WSDL

由 XML 生成 XSD 的方法 Generate XSD from XML

XSD 如何生成 WSDL? 这个不需要通过 XSD 直接生成,而是通过新建一个 Spring-WS 的配置文件,动态生成

例如:

<sws:dynamic-wsdl id="holiday"                                                                                      
    portTypeName="HumanResource"                                                                                      
    locationUri="/holidayService/"                                                                                   
    targetNamespace="http://mycompany.com/hr/definitions">                                                             
  <sws:xsd location="/WEB-INF/hr.xsd"/>                                                                             
</sws:dynamic-wsdl>

参考 Spring-WS 官方文档的 Publishing the WSDL

参考

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式