前言
本文将学习如何利用Spring boot快速创建SOAP webservice服务;
虽然目前REST和微服务越来越流行,但是SOAP在某些情况下,仍然有它的用武之地;
在本篇 spring boot SOAP教程中,我们会专注于和Spring boot相关的配置,感受下在Spring Boot中,创建SOAP webservice是如何的简便、快速;
本文将以一个"学生搜索"这个小功能作为示例,演示Spring Boot中SOAP webservice的创建过程;
技术栈
JDK 1.8, Eclipse, Maven – 开发环境
Spring-boot – 基础开发框架
wsdl4j – 发布WSDL
SOAP-UI – 测试服务
JAXB maven plugin - 代码生成
工程结构
本工程的代码及文件目录结构如下
创建Spring Boot工程
访问 SPRING INITIALIZR网站,添加Web Services依赖,输入maven的GAV 坐标,点击下载工程,下载完成后解压导入IDE即可;
修改pom.xml文件,添加Wsdl4j依赖:
wsdl4j
wsdl4j
创建SOAP Domain模型并生成Java代码
首先,我们需要给我们的服务创建domain(方法和参数),出于简便考虑,我将请求和响应放在了同一个XSD文件里,不过在实际应用开发的时候,通常需要放到多个XSD文件里;
创建student.xsd文件,并放到我们工程的resources 目录下
student.xsd
targetNamespace="http://www.howtodoinjava.com/xml/school" elementFormDefault="qualified">
添加JAXB maven插件用于生成代码
我们将使用jaxb2-maven-plugin来高效的生成domain代码,首先需要在pom.xml文件添加以下插件配置代码:
org.codehaus.mojo
jaxb2-maven-plugin
1.6
xjc
xjc
${project.basedir}/src/main/resources/
${project.basedir}/src/main/java
false
该插