Security javax.xml.ws.WebServiceException:java.lang.RuntimeException:包含值不正确:null
我使用CXF开发了web服务。今天,我为web服务添加了简单的用户名令牌安全性。之后,当我尝试部署web服务时,我会遇到以下异常Security javax.xml.ws.WebServiceException:java.lang.RuntimeException:包含值不正确:null,security,cxf,Security,Cxf,我使用CXF开发了web服务。今天,我为web服务添加了简单的用户名令牌安全性。之后,当我尝试部署web服务时,我会遇到以下异常 javax.xml.ws.WebServiceException: java.lang.RuntimeException: Incorrect inclusion value: null Failed to build the policy 'UsernameToken':Incorrect inclusion value: null 我正在使用JBoss6。以下是
javax.xml.ws.WebServiceException: java.lang.RuntimeException: Incorrect inclusion value: null
Failed to build the policy 'UsernameToken':Incorrect inclusion value: null
我正在使用JBoss6。以下是我在wsdl文件中添加的策略片段
<wsp:Policy wsu:Id="UsernameToken"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:ExactlyOne>
<wsp:All>
<!-- Empty <TransportBinding/> element required due to bug in CXF 2.2.6 -->
<sp:TransportBinding />
<sp:SupportingTokens>
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken=".../IncludeToken/AlwaysToRecipient" />
</wsp:Policy>
</sp:SupportingTokens>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
下面是我的cxf.xml文件
<jaxws:endpoint id="UpcLineOfBusinessServiceImpl"
address="/upcLineOfBusinessService" wsdlLocation="../wsdl/upclineofbusinessserviceimpl.wsdl">
<jaxws:implementor>
<ref bean="upcLineOfBusinessService"></ref>
</jaxws:implementor>
<jaxws: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="passwordCallbackClass" value="com.tecnotree.upc.security.PasswordCallBack" />
</map>
</constructor-arg>
</bean>
</jaxws:inInterceptors>
</jaxws:endpoint>
请帮帮我。提前谢谢我最近遇到了同样的例外。问题是sp:IncludeToken值不正确。我把它改成
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient
一切正常
可用值在org.apache.cxf.ws.security.policy.SP12Constants
(对于ws-SecurityPolicy 1.2)或org.apache.cxf.ws.security.policy.SP11Constants
(对于1.1)中定义
完整的策略定义如下所示:
<wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:UsernameToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10 />
<sp:HashPassword />
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SupportingTokens>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
这在WS-Policy定义中有问题吗?如果答案正确或有帮助,您为什么不接受它?如果对你没有帮助,你至少可以留下评论。这是适当的礼仪。这对我也很有效。应将其设置为接受答案。