首页 > 解决方案 > 带有 Spring Boot 错误的 JBOSS 上的 Soap 服务

问题描述

当我在 JBOSS 中部署 WAR 时,带有 Spring WS 的 Spring BOOT 出现此错误: java.lang.NoClassDefFoundError: com/sun/xml/messaging/saaj/soap/AttachmentPartImpl 我该如何解决这个问题?我尝试过这样但没有结果我在我写的 webapp/WEB-INF 中创建了一个 jboss-deployment-structure.xml

<?xml version='1.0' encoding='UTF-8' ?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
    <deployment>
        <exclusions>
            <module name="com.sun.xml.messaging.saaj" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

在我的 pom 中,我添加了:

<dependency>
            <groupId>com.sun.xml.messaging.saaj</groupId>
            <artifactId>saaj-impl</artifactId>
            <version>1.5.1</version>
            <scope>provided</scope>
        </dependency>

我在这里阅读了一个类似的主题,它说要这样做:

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"> 
  <property name="messageFactory">
     <bean class="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl" />
  </property>
</bean> 

我试过了,但没有结果。

@Bean
    public SaajSoapMessageFactory messageFactory() {
        SaajSoapMessageFactory messageFactory = new SaajSoapMessageFactory();
        SOAPMessageFactory1_1Impl messageFactory1_1=new SOAPMessageFactory1_1Impl();
        messageFactory.setMessageFactory(messageFactory1_1);
        return messageFactory;
    }

JBoss 回复我:

java.lang.RuntimeException: java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.propertySourcesPlaceholderConfigurer Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.propertySourcesPlaceholderConfigurer Caused by: java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.propertySourcesPlaceholderConfigurer Caused by: java.lang.IllegalStateException: Failed to introspect Class [PACKAGE.WebServiceConfig] from ClassLoader [ModuleClassLoader for Module \"deployment.ARTIFACT.war:main\" from Service Module Loader] Caused by: java.lang.NoClassDefFoundError: com/sun/xml/messaging/saaj/soap/ver1_1/SOAPMessageFactory1_1Impl Caused by: java.lang.ClassNotFoundException: com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl

但我正在使用 Spring Boot,我如何在 Spring Boot 中编写这个 Bean?

非常感谢。

标签: javaspringspring-bootjbossspring-ws

解决方案


推荐阅读