-
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个答案 按时间排序 按投票排序
-
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
相关推荐
1)参考: ...2)CXFWS工程是基于WS-Security规范,实现X.509身份验证的,同时实现签名和加密 keytool 工具的使用参考 http://hi.baidu.com/qianshuifanchuan/blog/item/6291b8510009ad3c42a75b8e.html ...
本文将深入探讨如何使用CXF框架结合ws-security标准来实现对Java客户端调用Web服务的安全接口。CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务,而ws-security(Web Services Security)则是用于...
在CXF中,WS-Security(Web Services Security)是一种关键的安全机制,用于确保Web服务的安全通信。WSS4J(Web Services Security for Java)是Apache的开源库,它为Java应用程序提供了实施WS-Security标准的功能。...
WS-Security(Web Services Security)是由OASIS组织制定的一套标准,它定义了一系列的安全机制来保护Web服务消息,包括认证、加密、完整性保护等。而Apache WSS4J(Web Services Secure Utilities for Java)则是...
综上所述,"cxf+ws-security-JAR"是针对Web服务安全调用的解决方案,通过Apache CXF和WS-Security标准,为Web服务提供了强大的安全保障,确保了敏感数据的传输安全和用户身份的有效验证。这个JAR包很可能包含了一些...
cxf ws-Security的实现 WS-SecurityPolicy 安全配置指定在客户机和服务之间交换的消息所需的安全处理。在大多数情况下,Web 服务堆栈还需要更多信息,才能对消息交换应用安全措施。 里面有2个project,分别server ...
在Java中,通常使用Apache CXF、Axis2等Web服务框架,它们内置了对WS-Security的支持。 使用"ws-security jar"时,开发者可以配置Web服务客户端和服务器端的策略,设置签名和加密算法,指定认证方式,以及处理证书...
【标题】"我的cxf与ws-security"涉及的是在Java Web服务开发中使用Apache CXF框架集成WS-Security(Web Service Security)的安全机制。Apache CXF是一个开源的、功能丰富的Web服务框架,它允许开发者创建和消费各种...
3. **配置CXF**:在CXF的配置文件(如cxf.xml或Spring配置文件)中,需要设置安全策略,包括启用WS-Security,指定使用的加密算法、证书路径等。 4. **服务端配置**:在服务端,我们需要配置服务端的证书,以及如何...
赠送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...
例如,使用Apache CXF或Java的JAX-WS API时,可以配置WS-Security处理器来处理这些安全特性。 总结起来,"ws-security三个jar包"是实现Web服务安全的关键组件,它们提供了WS-Security规范所定义的多种安全功能,如...
尽管Xfire已被Apache CXF等更现代的框架取代,但其对`ws-security`的支持仍然展示了如何在实际项目中实现Web服务安全。这可能涉及到配置XML文件,定义安全策略,以及在服务调用中添加必要的安全头信息。 接下来,...
在实际开发中,WS-Security的实现通常依赖于库,如Apache CXF、Axis2或Spring-WS,它们提供了API来简化WS-Security的集成。开发者可以通过这些库轻松地在SOAP消息中添加和验证安全元素。 为了实现WS-Security,...
为了解决这一问题,WS-Security规范应运而生。WS-Security的主要目标之一是实现端到端的安全性,确保SOAP消息即使通过不安全的中间节点也能安全可靠地从服务请求者到达服务提供者。 #### 二、WS-Security的核心功能...
赠送jar包:cxf-rt-rs-client-3.0.1.jar; 赠送原API文档:cxf-rt-rs-client-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-rs-client-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-rs-client-3.0.1.pom; 包含...
赠送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规范,本例的配置是Timestamp Signature Encrypt,具体使用可以参考我的博客http://blog.csdn.net/wangchsh2008/article/details/6708270
CXF提供了全面的WS-*(Web Services)标准支持,包括SOAP、WSDL、WS-Security等,同时也支持RESTful API的开发。在进行CXF开发时,依赖的一系列jar包是不可或缺的,它们包含了CXF运行所需的类库和组件。 1. **CXF的...
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-rt-ws-security.jar**:包含WS-Security相关的类和接口。 此外,还有其他如`cxf-rt-bindings-soap.jar`、`cxf-rt-databinding-jaxb.jar`、`cxf-rt-rs-extension-providers.jar`等,它们分别对应于不同的...