java - Spring SOAP 错误:无法实例化 [org.springframework.ws.soap.saaj.SaajSoapMessageFactory]
问题描述
我尝试使用 java 11 和 spring 创建肥皂服务。但是当我尝试使用它时,连接到 http://localhost:8080/ws/countries.wsdl ,我有这个堆栈trase:
2021-05-04 12:53:11.624 错误 22232 --- [nio-8080-exec-1] oswthttp.MessageDispatcherServlet:上下文初始化失败
org.springframework.beans.factory.BeanInitializationException:无法初始化 WebServiceMessageReceiverHandlerAdapter;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.ws.soap.saaj.SaajSoapMessageFactory]:无法解析的类定义;嵌套异常是 java.lang.NoClassDefFoundError: javax/xml/soap/MessageFactory at org.springframework.ws.transport.http.MessageDispatcherServlet.initMessageReceiverHandlerAdapter(MessageDispatcherServlet.java:391) ~[spring-ws-core-3.0.10.RELEASE .jar:na] 在 org.springframework.ws.transport.http.MessageDispatcherServlet.initStrategies(MessageDispatcherServlet.java:369) ~[spring-ws-core-3.0.10.RELEASE.jar:na] 在 org.springframework.ws .transport.http.MessageDispatcherServlet.onRefresh(MessageDispatcherServlet.java:运行(TaskThread.java:61)~[tomcat-embed-core-9.0.39.jar:9.0.39] 在 java.base/java.lang.Thread.run(Thread.java:832)~[na:na ] 引起:org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.ws.soap.saaj.SaajSoapMessageFactory]:无法解析的类定义;嵌套异常是 java.lang.NoClassDefFoundError: javax/xml/soap/MessageFactory at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:157) ~[spring-beans-5.3.1.jar:5.3.1] at org.springframework.ws.support.DefaultStrategiesHelper.instantiateBean(DefaultStrategiesHelper.java:152) ~[spring-ws-core-3.0.10.RELEASE.jar:na] at org.springframework.ws.support.DefaultStrategiesHelper.getDefaultStrategies(DefaultStrategiesHelper .java:134) ~[spring-ws-core-3.0.10.RELEASE.jar:na] 在 org.springframework.ws.support。
我使用具有此依赖项的 maven:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>3.0.10.RELEASE</version>
</dependency>
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>jakarta.xml.soap</groupId>
<artifactId>jakarta.xml.soap-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>jakarta.jws</groupId>
<artifactId>jakarta.jws-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>maven-cobertura-plugin</artifactId>
<groupId>maven-plugins</groupId>
</exclusion>
<exclusion>
<artifactId>maven-findbugs-plugin</artifactId>
<groupId>maven-plugins</groupId>
</exclusion>
<exclusion>
<artifactId>xalan</artifactId>
<groupId>xalan</groupId>
</exclusion>
<exclusion>
<artifactId>xercesImpl</artifactId>
<groupId>xerces</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.0</version>
<type>jar</type>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>xml-apis</artifactId>
<groupId>xml-apis</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.9.1</version>
<type>jar</type>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>xml-apis</artifactId>
<groupId>xml-apis</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
我从字面上添加所有我能做的,不知道该怎么做。谢谢
解决方案
推荐阅读
- excel - Excel VBA 更新链接
- json - 使字符串同时有效 JSON 和 shell 转义
- tensorflow - 在tensorflow中,如何枚举训练数据(对比pytorch)
- javascript - 如何在 node.js sequelize 中使用 varchar?
- java - Docker&Java:构建不反映新文件
- google-apps-script - 是否可以从谷歌表中隐藏谷歌脚本?
- c# - Polly - 请在调用异步 ExecuteAsync(和类似)方法时使用异步定义的策略
- python - 制作石头剪刀布游戏时的值错误
- php - WordPress 类别搜索简码不显示选项
- r - R ggplot2 TCGA 表达数据的分组箱线图