Spring Web Services 生成 WSDL 文件

更新日期: 2017-05-18 阅读次数: 8156 分类: 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

参考

领取618阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年06月05日 世界环境日
2020年06月05日 芒种
2020年06月06日 全国爱眼日
2020年06月11日 中国人口日
2020年06月20日 世界难民日
2020年06月21日 父亲节
2020年06月21日 夏至
2020年06月22日 中国儿童慈善活动日
2020年06月23日 国际奥林匹克日
2020年06月25日 全国土地日
2020年06月25日 端午节
2020年06月26日 国际禁毒日
查看更多节日