Hi,

Please see my answer below.

On Tue, 2008-01-22 at 08:04 +0100, Stadelmann Josef wrote:
> Hi Rampart Developers,
> 
> I think what .-2 is asking for is somehow "the normal case". userName and
> password in a xml file is, sorry to me a bit artificial and the wrong place. 
> And I really wonder why Rampart can not pick up UserName and Password from 
> the options if set as shown by
> 
> > options.setUserName("bob");
> > options.setPassword("wspwd");
> 
> and as intended by .-2, What is wrong with his intention? The solution 
> given in the answer .-1 is very much more confusing me, and it really opens 
> ground for many more question toward the team: when to use which option and
> xml file.
> 
> I think what most users seek in any case is a simple possibel first approach 
> to 
> do things and if this first approach does not fit requirements a more complex 
> approach is only then required. But sometimes I get the impression that
> we get allmost always the served with the complex approach first and then 
> after a 
> while and claiming users a more easy approach is give/developed. 
> 
> Not only true for Rampart.  
> 
> For me it is very clear what .-2 wants, but the solution given by .-1
> is confusing me. Why do I need to think about a policy based approach if
> I have such a simple demand as .-2 wants?
> 
> At least documentation or the answer could go and say in 
> which case or configuration or architecture or design one has to use 
> 
> > options.setUserName("bob");
> > options.setPassword("wspwd");
> 
> and in which case one has to use the proposed approache given by .-1
> 
> If I read ...
> 
> > the username is hardcoded within the OuflowSecurity element in
> > the client config file (client.axis2.xml) as shown below:
> 
> HARDCODED ... I become a bit crazzy. How often do we need it like that and 
> how often do we need the dynamic approach as .-2 is asking for/attempts to 
> have implemented by an easy approach.
> 
> Please Rampart developers become clear about when to use which approach.
> And include a working example for each possible approach you can think
> of. Rampart has been tested and hence often examples can just be taken from 
> the tests caes, but for that test code has to be provided.
> 
> I will have the same issue in a few weeks from now and hope to get it done
> the easy way. :-)


The general practice is NOT to use username/password hard-coded in the
axis2.config.xml file in production. Username/password hard-coded in the
file only for testing and purposes. 

There are two ways you can configure Rampart.
        * Parameter approach
        * Policy approach 

We have deprecated the parameter based configuration and always
encourage the policy based configuration. When a person is using policy
based approach everything works smoothly, i.e. username/password is
picked up from the option object without any extra work.

I gave this solution [i am referring to the OutflowConfiguration
solution] because he was using the parameter configuration. 

If you are using policy based approach you won't be having this issue in
a few weeks :) 

Thank you,
Dimuthu.


> Josef.Stadelmann@
> axa-winterthur.ch
> 
> 
> 
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Dimuthu Leelarathne [mailto:[EMAIL PROTECTED]
> Gesendet: Donnerstag, 17. Januar 2008 04:03
> An: [email protected]
> Betreff: Re: Dynamically setting the username/password with Rampart.
> 
> 
> Hi,
> 
> Since you have used the configuration parameters username/password will
> not be picked up from the options object. Username/password will be
> given priority if you are using policy based configuration only.
> 
> This is how you set username/password dynamically if you are using
> configuration parameter approach.
> 
> OutflowConfiguration ofc = new OutflowConfiguration();
> ofc.setActionItems("UsernameToken");
> options.setProperty(WSSHandlerConstants.OUTFLOW_SECURITY,
> ofc.getProperty());
> 
> myCallback.setUTUsername("bob");
> myCallback.setUTPassword("bobpass");
> options.put(WSHandlerConstants.PW_CALLBACK_REF, myCallback);
> 
> /*
> myCallback is an instance of a class extending from
> org.apache.ws.security.WSPasswordCallback.
> You should implement it.
> */
> 
> Then remove the password callback class given in the client.axis2.xml
> because there Rampart doesn't give priority to PW_CALLBAK_REF. 
> 
> Thanks,
> Dimuthu.
> 
> 
> 
> On Wed, 2008-01-16 at 11:36 +0000, Sanjay Vivek wrote:
> > Hi everyone,
> > 
> > I'm attempting to call a simple Web Service (an Echo Service) that is
> > protected by WS-Security UsernameToken. I'm using Axis2-1.3 and Rampart
> > 1.3. I've been looking at the samples given in the Apache Rampart distro
> > and it makes sense to me. However, in the samples given in the Rampart
> > distro, the username is hardcoded within the OuflowSecurity element in
> > the client config file (client.axis2.xml) as shown below:
> > 
> >     <parameter name="OutflowSecurity">
> >             <action>
> >             <items>UsernameToken Timestamp</items>
> >             <user>bob</user>
> >  
> > <passwordCallbackClass>org.apache.rampart.samples.sample02.PWCBHandler</
> > passwordCallbackClass>
> >       </action>
> >     </parameter>
> > 
> > 
> > However, I want to set username/password dynamically, and I'm attempting
> > to use the ServiceClient to do just this.
> > 
> > The code snippet below shows how I've gone about using the ServiceClient
> > to set the username and password:
> > 
> > ConfigurationContext ctx = ConfigurationContextFactory
> > .createConfigurationContextFromFileSystem(axis2ConfPath, null);
> > 
> > ServiceClient client = new ServiceClient(ctx, null); 
> > OMElement payload = client.sendReceive(getPayload("Hello world"));
> > 
> > Options options = new Options();
> > client.engageModule(new QName("rampart"));
> > 
> > options.setTo(targetEPR);
> > options.setAction("urn:echo");
> > 
> > options.setUserName("bob");
> > options.setPassword("wspwd");
> > 
> > client.setOptions(options);
> > result = client.sendReceive(payload);
> > 
> > However, the client seems to be picking up the value within the <user>
> > element in the "OutflowSecurity" element which is defined in
> > client.axis2.xml (from axis2ConfPath/conf). How do I override the "user"
> > value in client.axis2.xml so that the client picks up the username from
> > 'options.setUserName("bob")'? Any help would be appreciated. Cheers.
> > 
> > Regards
> > --------------
> > Sanjay Vivek
> > Web Analyst
> > Middleware Team
> > ISS
> > University of Newcastle Upon Tyne
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to