Apache Rampart不使用JBoss 6

时间:2014-04-10 06:10:28

标签: web-services jboss axis2 rampart

我使用Axis 2 1.5.4在JBoss 6.0.0上部署Web服务,并使用Apache Rampart 1.5.2为Web服务实现UserName Token安全性。我的服务已成功部署,我可以在WSDL中看到Web服务策略。

但是当我通过SOAP UI启动Web服务时,它不会要求任何安全信息并直接调用我的Web服务方法,甚至不会调用PasswordCallBackHandler类。相同的服务和安全性适用于Tomcat,但不适用于JBoss。

来自我的WSDL的示例:

<?xml version="1.0" encoding="UTF-8" ?>   
- <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2">  
- <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken">  
- <wsp:ExactlyOne>  
- <wsp:All>  
- <sp:SupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">  
- <wsp:Policy>  
  <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" />   
  </wsp:Policy>  
  </sp:SupportingTokens>  
  </wsp:All>  
  </wsp:ExactlyOne>  
  </wsp:Policy>  

以下是我的services.xml:

 <service>  
    <module ref="rampart" />
        <parameter name="ServiceClass" locked="false">SimpleService</parameter>  
        <operation name="echo">  
            <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
        </operation>      

    <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">  
      <wsp:ExactlyOne>  
        <wsp:All>  
          <sp:SupportingTokens  
              xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">  
            <wsp:Policy>  
              <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"/>

            </wsp:Policy>  
          </sp:SupportingTokens>  

           <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">  
                <ramp:passwordCallbackClass>MyHandler</ramp:passwordCallbackClass>  
           </ramp:RampartConfig>  
        </wsp:All>  
      </wsp:ExactlyOne>  
    </wsp:Policy>  
    </service>

我错过了JBoss的一些配置吗?请帮助我解决问题,因为我完全陷入困境。

0 个答案:

没有答案