0 0

CXF WS-Security 异常问题。急求。#########3

javax.xml.ws.soap.SOAPFaultException: MustUnderstand headers: [{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood.
	org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
	$Proxy37.loadAlarmRecordByUsername(Unknown Source)


仅仅是做了一个简单的 usernameToken配置如下:

服务端
<cxf:bus>
	    <cxf:features>
	      <bean class="org.apache.cxf.feature.LoggingFeature" />
	    </cxf:features>
	    <cxf:inInterceptors>
	       <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
		      <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
		         <constructor-arg>
		            <map>
		               <entry key="action" value="UsernameToken"/>
		               <entry key="passwordType" value="PasswordText"/>
		               <entry key="passwordCallbackRef">
		                   <ref bean="wsPasswordVerify"/> <!-- 此bean在applicationContext.xml 中有配置 -->
		               </entry>
		            </map>
		         </constructor-arg>
		      </bean>
	    </cxf:inInterceptors>
    </cxf:bus> 
    
	<jaxws:server id="alarmWebService" serviceBean="#alarmService"
		address="/alarm" bus="cxf"> <!-- bus="cxf"> -->
	</jaxws:server>


客户 端

 <!-- 客户端验证设置 -->
   <bean id="clientPasswordCallback" class="com.yixun.middleware.client.handler.ClientPasswordCallback" /> 
   <bean id="saajOut" class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />  
   <bean id="wss4jOut" class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">  
        <constructor-arg>  
            <map>  
                <entry key="action" value="UsernameToken" />  
                <entry key="passwordType" value="PasswordText" />  
                <entry key="user" value="yixun" /> 
                <entry key="passwordCallbackRef">    
                     <ref bean="clientPasswordCallback" />    
                </entry>    
            </map>  
        </constructor-arg>  
    </bean>  
    
    <cxf:bus>
	    <cxf:features>
	      <bean class="org.apache.cxf.feature.LoggingFeature" />
	    </cxf:features>
	    <cxf:outInterceptors>
            <ref bean="saajOut" />  
            <ref bean="wss4jOut" />  
	    </cxf:outInterceptors>
    </cxf:bus> 
    
    <bean id="#alarmService" class="com.yixun.middleware.service.AlarmService" 
      factory-bean="alarmServiceFactory" factory-method="create"/>
	<bean id="alarmServiceFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
	  <property name="serviceClass" value="com.yixun.middleware.service.AlarmService"/>
	  <property name="address" value="http://192.168.10.18:8080/middleware-server/services/alarm"/>
	</bean>



求解异常解决方法..
2012年2月08日 09:07

2个答案 按时间排序 按投票排序

0 0

Map<String, Object> outProps = new HashMap<String, Object>();
outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
outProps.put(WSHandlerConstants.USER, "admin");
outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
outProps.put(WSHandlerConstants.MUST_UNDERSTAND, "0");
outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, WsClinetAuthHandler.class.getName());
ArrayList list = new ArrayList();
list.add(new SAAJOutInterceptor());
list.add(new WSS4JOutInterceptor(outProps));

要设置WSHandlerConstants.MUST_UNDERSTAND为"0"

2015年12月02日 02:29
0 0

同样遇到这个问题。

2015年12月02日 02:25

相关推荐

    CXFWS-Security

    1)参考: ...2)CXFWS工程是基于WS-Security规范,实现X.509身份验证的,同时实现签名和加密 keytool 工具的使用参考 http://hi.baidu.com/qianshuifanchuan/blog/item/6291b8510009ad3c42a75b8e.html ...

    CXF WS-Security WSS4J 例子

    CXF WS-Security WSS4J 例子 可以运行,运行的时候只要运行client就行,重点是运行完之后要关掉第一个控制台,才能看到结果。一定要记得改一下client的路径名

    cxf ws-Security的实现

    cxf ws-Security的实现 WS-SecurityPolicy 安全配置指定在客户机和服务之间交换的消息所需的安全处理。在大多数情况下,Web 服务堆栈还需要更多信息,才能对消息交换应用安全措施。 里面有2个project,分别server ...

    cxf-rt-ws-addr-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-rt-ws-addr-3.0.1.jar; 赠送原API文档:cxf-rt-ws-addr-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-ws-addr-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-ws-addr-3.0.1.pom; 包含翻译后的API...

    纯java调用ws-security+CXF实现的webservice安全接口

    纯java调用ws-security+CXF实现的webservice安全接口

    cxf+ws-security-JAR

    cxf结合ws-security实现webservice 用户名/密码身份认证安全调用,依赖包

    cxf-rt-ws-policy-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-rt-ws-policy-3.0.1.jar; 赠送原API文档:cxf-rt-ws-policy-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-ws-policy-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-ws-policy-3.0.1.pom; 包含...

    Cxf 和wss4j实现ws-security的demo

    CXF使用WSS4J实现WS-Security规范,本例的配置是Timestamp Signature Encrypt,具体使用可以参考我的博客http://blog.csdn.net/wangchsh2008/article/details/6708270

    我的cxf与ws-security

    经过了几天的努力与查询不少的资料与调试,头都大了,终于给CXF加上了一把密码锁,希望进步;

    cxf-rt-transports-http-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-rt-transports-http-3.0.1.jar; 赠送原API文档:cxf-rt-transports-http-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-transports-http-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-transports-...

    cxf-rt-frontend-simple-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-rt-frontend-simple-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-simple-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-simple-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-...

    cxf-rt-bindings-soap-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-rt-bindings-soap-3.0.1.jar; 赠送原API文档:cxf-rt-bindings-soap-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-bindings-soap-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-bindings-soap-...

    Web 服务规范_第 4 部分:WS-Security源码

    了解 Web 服务规范_第 4 部分:WS-Security源码

    cxfWebservice客户端全部jar包及极简调用方法.rar

    udp-3.0.11.jar,cxf-rt-wsdl-3.0.0.jar,cxf-rt-ws-security-3.0.0.jar,neethi-3.0.3.jar,slf4j-api-1.7.7.jar,stax2-api-3.1.4.jar,woodstox-core-asl-4.4.1.jar,wsdl4j-1.6.3.jar,wss4j-bindings-2.0.9.jar,xml...

    CXF(WS_Security)证书加密

    对WebServcie进行双层加密,自己写的一个小例子。

    cxf-core-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-core-3.0.1.jar; 赠送原API文档:cxf-core-3.0.1-javadoc.jar; 赠送源代码:cxf-core-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-core-3.0.1.pom; 包含翻译后的API文档:cxf-core-3.0.1-...

    cxf-rt-frontend-jaxws-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-rt-frontend-jaxws-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-jaxws-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-jaxws-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-jaxws...

    cxf.xml,cxf-servlet.xml,cxf-extension-soap.xml

    &lt;import resource="classpath:META-INF/cxf/cxf.xml"/&gt; &lt;import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/&gt; &lt;import resource="classpath:META-INF/cxf/cxf-servlet.xml"/&gt;

    cxf-rt-frontend-jaxrs-3.0.1-API文档-中文版.zip

    赠送jar包:cxf-rt-frontend-jaxrs-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-jaxrs-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-jaxrs-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-jaxrs...

    cxf-rt-frontend-jaxws-3.0.16.jar 下载

    cxf-rt-frontend-jaxws-3.0.16.jar jar包下载3.0.16版本下载

Global site tag (gtag.js) - Google Analytics