首页 > 解决方案 > 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>

我从字面上添加所有我能做的,不知道该怎么做。谢谢

标签: javaspringsoap

解决方案


推荐阅读