jdk11后不支持webservice问题解决方案

1.问题背景

在调用webservice服务时,接口中会要求传递 xml 字符串,需要我们进行 实体类 --> xml字符串 之间的互转, 这个互转的程序,通常是使用 jdk8 中提供的一个 JAXB 库, 但是这个库在jdk11时已经彻底删除掉了,在打包放到服务器上运行时,在运行到这一行时,就会报错:


image.png

错误图片:

image.png

网上大多数让自己引入JAXB的包,经过测试发现引入后本地运行是可以的,但是打包后,在服务器中运行还是会报以上错误

2.解决办法

由于网上的方法已经尝试过,在服务器中运行还是会报错,所以我们就直接弃用此JAXB,用第三方的互转工具来做Bean和xml的互相转换,这里推荐使用 Xstream
2.1 maven地址

com.thoughtworks.xstream
xstream
1.4.17

XStream 是一个简单的库,用于将对象序列化为 XML 并再次序列化。
官网: http://x-stream.github.io/
快速入门: http://t.csdn.cn/VkGIf
在调用webservice接口的地方 , 使用XStream,来代替JAXB进行实体类与xml之间的互转即可
注意: 使用XStream,需要配合其提供的注解来标记实体类属性,再进行转换
例如:

2.1.1 实体类转xml

image.png

2.2.2 xml转实体类

image.png

你可能感兴趣的:(jdk11后不支持webservice问题解决方案)