Spring JBoss 5.1上的CXF安全性未实现异常
我使用的是Java6、Spring3.0.5.RELEASE、ApacheCXF2.4.1、JBoss5.1。 我的配置在Tomcat7上工作,但在JBoss上,当我向服务器发送SOAP消息时,我得到了NotImplementedExceptionSpring JBoss 5.1上的CXF安全性未实现异常,spring,security,cxf,jboss5.x,Spring,Security,Cxf,Jboss5.x,我使用的是Java6、Spring3.0.5.RELEASE、ApacheCXF2.4.1、JBoss5.1。 我的配置在Tomcat7上工作,但在JBoss上,当我向服务器发送SOAP消息时,我得到了NotImplementedException Service has thrown exception, unwinding now org.jboss.util.NotImplementedException at org.jboss.ws.core.soap.SOAPPartImpl.app
Service has thrown exception, unwinding now org.jboss.util.NotImplementedException
at org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:970)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:947)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:157)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:118)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:208)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:205)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:113)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:184)
applicationContext.xml
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<import resource="classpath*:META-INF/cxf/cxf-extension-*.xml" />
<jaxws:endpoint id="myServiceEndPoint" implementor="#myService" address="/myService">
<jaxws:inInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry key="action" value="UsernameToken" />
<entry key="passwordType" value="PasswordDigest" />
<entry key="signaturePropFile" value="..." />
<entry key="passwordCallbackRef">
<ref bean="myPasswordCallback" />
</entry>
</map>
</constructor-arg>
</bean>
</jaxws:inInterceptors>
</jaxws:endpoint>
<bean id="myPasswordCallback" class="com.middleware.security.ServerPasswordCallback" />
最后它成功了。
我将apache cxf版本更改为2.1.10,并更改了一些依赖项的范围
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-core</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
<exclusions>
<exclusion>
<groupId>xml-resolver</groupId>
<artifactId>xml-resolver</artifactId>
</exclusion>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-api</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>${cxf.version}</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache</groupId>
<artifactId>serializer</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xml-resolver</groupId>
<artifactId>xml-resolver</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<!-- <dependency> -->
<!-- <groupId>javax.xml.soap</groupId> -->
<!-- <artifactId>saaj-api</artifactId> -->
<!-- <version>1.3</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>com.sun.xml.messaging.saaj</groupId> -->
<!-- <artifactId>saaj-impl</artifactId> -->
<!-- <version>1.3</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1.13</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<!-- <dependency> -->
<!-- <groupId>javax.xml</groupId> -->
<!-- <artifactId>jaxrpc-api-osgi</artifactId> -->
<!-- <version>1.1-b01</version> -->
<!-- </dependency> -->
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.4</version>
<scope>provided</scope>
</dependency>
org.apache.cxf
cxf rt核
${cxf.version}
org.apache.cxf
cxf rt前端jaxws
${cxf.version}
xml解析器
xml解析器
asm
asm
org.apache.cxf
cxf rt传输http
${cxf.version}
org.apache.cxf
cxfapi
${cxf.version}
org.apache.cxf
cxf rt ws-security
${cxf.version}
编译
org.slf4j
slf4j api
沙兰
沙兰
org.apache
序列化程序
xml解析器
xml解析器
1.2
假如
com.sun.xml.bind
jaxb impl
2.1.13
javax.xml.bind
jaxb api
2.1
假如
javax.xml.ws
JAXWSAPI
2.1
org.apache.axis
axis jaxrpc
1.4
假如
它终于起作用了。
我将apache cxf版本更改为2.1.10,并更改了一些依赖项的范围
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-core</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
<exclusions>
<exclusion>
<groupId>xml-resolver</groupId>
<artifactId>xml-resolver</artifactId>
</exclusion>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-api</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>${cxf.version}</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache</groupId>
<artifactId>serializer</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xml-resolver</groupId>
<artifactId>xml-resolver</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<!-- <dependency> -->
<!-- <groupId>javax.xml.soap</groupId> -->
<!-- <artifactId>saaj-api</artifactId> -->
<!-- <version>1.3</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>com.sun.xml.messaging.saaj</groupId> -->
<!-- <artifactId>saaj-impl</artifactId> -->
<!-- <version>1.3</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1.13</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<!-- <dependency> -->
<!-- <groupId>javax.xml</groupId> -->
<!-- <artifactId>jaxrpc-api-osgi</artifactId> -->
<!-- <version>1.1-b01</version> -->
<!-- </dependency> -->
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.4</version>
<scope>provided</scope>
</dependency>
org.apache.cxf
cxf rt核
${cxf.version}
org.apache.cxf
cxf rt前端jaxws
${cxf.version}
xml解析器
xml解析器
asm
asm
org.apache.cxf
cxf rt传输http
${cxf.version}
org.apache.cxf
cxfapi
${cxf.version}
org.apache.cxf
cxf rt ws-security
${cxf.version}
编译
org.slf4j
slf4j api
沙兰
沙兰
org.apache
序列化程序
xml解析器
xml解析器
1.2
假如
com.sun.xml.bind
jaxb impl
2.1.13
javax.xml.bind
jaxb api
2.1
假如
javax.xml.ws
JAXWSAPI
2.1
org.apache.axis
axis jaxrpc
1.4
假如