You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by SGE0 <st...@hotmail.com> on 2009/11/09 18:03:22 UTC

Axis2/Java 1.5.1 and Rampart

Hi, 

we have following services.xml file (part):

<service name="Upload" scope="application">
     ...

  	<module ref="rampart" />
<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://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:HashPassword/>
            </wsp:Policy>
           
          </sp:UsernameToken>
        </wsp:Policy>
      </sp:SupportingTokens>

      <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
       
<ramp:passwordCallbackClass>...security.PWCBHandler</ramp:passwordCallbackClass>
      </ramp:RampartConfig>

    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>
</service>


When we generate  the client stub with Java2WSDL we see that the 
            <wsp:Policy>
              <sp:HashPassword/>
            </wsp:Policy>
is not correctly generated. 

When we look at the populateAxisService method in the generated stub we see:

  private void populateAxisService() throws org.apache.axis2.AxisFault {

...
	    
	   
(__operation).getMessage(org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_OUT_VALUE).getPolicySubject().attachPolicy(getPolicy("<wsp:Policy
xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\"><wsp:ExactlyOne><wsp:All><sp:SupportingTokens
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"><wsp:Policy><sp:UsernameToken
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"
sp:IncludeToken=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient\"
/></wsp:Policy></sp:SupportingTokens><sp:SupportingTokens
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"><wsp:Policy><sp:UsernameToken
xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"
sp:IncludeToken=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient\"
/></wsp:Policy></sp:SupportingTokens></wsp:All></wsp:ExactlyOne></wsp:Policy>"));
	    
...    
        
        }


The result is that we can send over a plain text userid/pwd but not a hashed
password.

Anyone experiencing the same problem ?

S.
-- 
View this message in context: http://old.nabble.com/Axis2-Java-1.5.1-and-Rampart-tp26269867p26269867.html
Sent from the Axis - User mailing list archive at Nabble.com.


Re: Axis2/Java 1.5.1 and Rampart

Posted by Prabath Siriwardena <pr...@wso2.com>.
Please create a JIRA on the issue.

Alternatively you can attach the policy file to the client to get the 
expected results.

Thanks & regards.
-Prabath

SGE0 wrote:
> Hi, 
>
> we have following services.xml file (part):
>
> <service name="Upload" scope="application">
>      ...
>
>   	<module ref="rampart" />
> <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://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:HashPassword/>
>             </wsp:Policy>
>            
>           </sp:UsernameToken>
>         </wsp:Policy>
>       </sp:SupportingTokens>
>
>       <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
>        
> <ramp:passwordCallbackClass>...security.PWCBHandler</ramp:passwordCallbackClass>
>       </ramp:RampartConfig>
>
>     </wsp:All>
>   </wsp:ExactlyOne>
> </wsp:Policy>
> </service>
>
>
> When we generate  the client stub with Java2WSDL we see that the 
>             <wsp:Policy>
>               <sp:HashPassword/>
>             </wsp:Policy>
> is not correctly generated. 
>
> When we look at the populateAxisService method in the generated stub we see:
>
>   private void populateAxisService() throws org.apache.axis2.AxisFault {
>
> ...
> 	    
> 	   
> (__operation).getMessage(org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_OUT_VALUE).getPolicySubject().attachPolicy(getPolicy("<wsp:Policy
> xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\"><wsp:ExactlyOne><wsp:All><sp:SupportingTokens
> xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"><wsp:Policy><sp:UsernameToken
> xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"
> sp:IncludeToken=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient\"
> /></wsp:Policy></sp:SupportingTokens><sp:SupportingTokens
> xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"><wsp:Policy><sp:UsernameToken
> xmlns:sp=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702\"
> sp:IncludeToken=\"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient\"
> /></wsp:Policy></sp:SupportingTokens></wsp:All></wsp:ExactlyOne></wsp:Policy>"));
> 	    
> ...    
>         
>         }
>
>
> The result is that we can send over a plain text userid/pwd but not a hashed
> password.
>
> Anyone experiencing the same problem ?
>
> S.
>