Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.ClassNotFoundException:com.sun.xml.wss.XWSSecurityException_Java_Spring_Maven_Spring Security_Spring Ws - Fatal编程技术网

java.lang.ClassNotFoundException:com.sun.xml.wss.XWSSecurityException

java.lang.ClassNotFoundException:com.sun.xml.wss.XWSSecurityException,java,spring,maven,spring-security,spring-ws,Java,Spring,Maven,Spring Security,Spring Ws,我有一个现有的基于SOAP的web服务,我试图在其中使用“XwsSecurityInterceptor”和“SpringDigestPasswordValidationCallbackHandler”实现SpringWeb服务的安全性。这就是我的spring配置的样子。 我正在JBoss7.1中作为部署此应用程序。当应用程序启动时,引发以下异常。它抱怨找不到“com.sun.xml.wss.XWSSecurityException” org.springframework.beans.fact

我有一个现有的基于SOAP的web服务,我试图在其中使用“XwsSecurityInterceptor”和“SpringDigestPasswordValidationCallbackHandler”实现SpringWeb服务的安全性。这就是我的spring配置的样子。

我正在JBoss7.1中作为部署此应用程序。当应用程序启动时,引发以下异常。它抱怨找不到“com.sun.xml.wss.XWSSecurityException”

org.springframework.beans.factory.BeanCreationException:错误 创建名为的bean “org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping#0”: 调用init方法失败;嵌套异常是 java.lang.NoClassDefFoundError:com/sun/xml/wss/XWSSecurityException 原因:java.lang.ClassNotFoundException: com.sun.xml.wss.XWSSecurityException

现在,我正试图了解这个问题的根本原因。所以我从POM文件开始

pom中包含以下依赖项

<dependency>
    <groupId>org.springframework.ws</groupId>
    <artifactId>spring-ws-core</artifactId>
    <version>${org.springframework.ws.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework.ws</groupId>
    <artifactId>spring-ws-security</artifactId>
    <version>${org.springframework.ws.version}</version>
</dependency>

<dependency>
    <groupId>com.sun.xml.wss</groupId>
    <artifactId>xws-security</artifactId>
    <version>3.0</version>
</dependency>

<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

<dependency>
    <groupId>javax.xml</groupId>
    <artifactId>xmldsig</artifactId>
    <version>1.0</version>
</dependency>

org.springframework.ws

所以我想增加这种依赖性

    <dependency>
        <groupId>com.sun.xml.wss</groupId>
        <artifactId>xws-security</artifactId>
        <version>3.0</version>
    </dependency>

com.sun.xml.wss

有人在谈论另一种选择

我可以看到这在SpringWS-security:jar的2.3.0版本中是可用的


现在我的问题是,需要避免/添加什么,以便应用程序能够启动最新版本的jars??祈祷吧……

试试
SpringWS-security:2.4.0.发行版和
SpringVersion4.3.3.发行版
有时候你需要成为软件考古学家才能调试这些东西

查看pom,您可以看到,
xws-security:3.0
依赖项是可选的(除其他外)。您需要阅读SpringWS-security文档来确定应该包括哪些
可选的
依赖项

假设您已经决定需要
xws-security
模块,那么您需要看看,这就是考古学发挥作用的地方。这个模块可以追溯到2008年,当时Java5仍然受到支持。Java6(和/或JavaEE)和更新版本支持此工件的依赖项列表中的所有API。在构建或部署人工制品中包含它们中的任何一个都会带来痛苦

因此,您应该排除它们:

<dependency>
    <groupId>com.sun.xml.wss</groupId>
    <artifactId>xws-security</artifactId>
    <version>3.0</version>
    <exclusions>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.soap</groupId>
            <artifactId>saaj-api</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of Java EE -->
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.stream</groupId>
            <artifactId>stax-api</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.crypto</groupId>
            <artifactId>xmldsig</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.ws</groupId>
            <artifactId>jaxws-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>

com.sun.xml.wss
xws安全性
3
javax.xml.soap
saaj api
javax.mail
邮件
javax.xml.bind
jaxb api
javax.xml.stream
斯塔克斯api
javax.xml.crypto
xmldsig
javax.xml.ws
JAXWSAPI

您可以发布添加的pom.xml依赖项(而不是图像)吗。。。有时我得到的s类没有发现异常太。。。这就是我处理maven依赖项的时候了……可能是依赖项冲突。请使用
mvn tree
()或eclipse的WTPlugin进行检查。那些投反对票的人,请给出有效的解释。这样我就可以添加更多细节并改进问题。我没有得到你真正想要的。有很多信息,但没有明确的问题。昨天问题的标题是
java.lang.NoSuchMethodError:SpelParserConfiguration.
,其堆栈跟踪是
(MSC服务线程1-4)StandardWrapper.Throwable:java.lang.NoSuchMethodError:org.springframework.expression.spel.SpelParserConfiguration。‌​(Lorg/springframewor)‌​k/表达式/spel/Sp‌​elCompilerMode;Ljava‌​/lang/ClassLoader;)V位于org.springframework.context.expression.StandardBeanExpressio‌​nResolver.(标准)‌​表情解析‌​r、 java:98)[spring-context-4.3.2.RELEASE.jar:4.3.2.RELEASE]。
如果问题已解决,请接受帮助您解决问题的答案,然后为新问题创建新问题。如果没有,请使用有用的详细信息更新问题,保留旧标题和旧stacktrace。问题未修复。当我使用选定的依赖项创建示例应用程序时,错误没有改变。所以我更新了问题。现在我得到的错误是一致的。谢谢。我还没有机会测试它。我会试试看,然后再打给你。哇!!!!伟大的谢谢。成功了。你能详细说明你的答案吗?我想完全理解它。我不理解这一部分“这个模块可以追溯到2008年,当时Java5仍然受到支持更新版本支持此工件的依赖项列表中的所有API。将它们中的任何一个包含在您的构建或部署工件中都会带来痛苦。”
<dependency>
    <groupId>com.sun.xml.wss</groupId>
    <artifactId>xws-security</artifactId>
    <version>3.0</version>
    <exclusions>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.soap</groupId>
            <artifactId>saaj-api</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of Java EE -->
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.stream</groupId>
            <artifactId>stax-api</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.crypto</groupId>
            <artifactId>xmldsig</artifactId>
        </exclusion>
        <exclusion>
            <!-- Part of JDK -->
            <groupId>javax.xml.ws</groupId>
            <artifactId>jaxws-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>