can i have sample java code to login into Mifos?

Thanks in advance

On Wednesday, 16 November 2011 20:00:23 UTC+5:30, Udai Gupta wrote:
>
> Hi Satish,
>
> You are right, there should be a way to use RestTemplate, haven't had
> time to explore about this but I will check once I get my hand free.
>
> Udai
>
> On Wed, Nov 16, 2011 at 7:57 PM, Satish <[email protected] <javascript:>> 
> wrote:
> > Hi Udai,
> > Thank you for the response. I did follow you mifos-rest.py example and it
> > was helpful.  I was using  Spring's RestTemplate and was having problem 
> in
> > saving session for subsequent rest calls. However, I have managed to
> > implement it using HttpClient. Solution is working but i feel it cannot 
> be
> > so crude and there must exist a better solution.
> >
> > This is what i have done:
> > //This method prepare the connections and return the session with
> > authentication.
> > //class: RESTClient
> >
> > public HttpClient prepareConnection() throws HttpException, IOException{
> >
> >
> >
> >   logger.debug("Establishing http session with mifos");
> >
> >   httpConn = new HttpClient();
> >
> > Credentials credentials = new
> > UsernamePasswordCredentials(username,password);
> >
> > httpConn.getParams().setAuthenticationPreemptive(true);
> >
> > httpConn.getState().setCredentials(AuthScope.ANY, credentials);
> >
> > HttpConnectionManagerParams conpar = new HttpConnectionManagerParams();
> >
> > conpar.setConnectionTimeout(5 * 60000); // 5 minutes
> >
> > conpar.setSoTimeout(5 * 60000); // 5 minutes
> >
> > httpConn.getHttpConnectionManager().setParams(conpar);
> >
> > GetMethod get = new GetMethod(URL);
> >
> > get.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
> >
> > get.setDoAuthentication(true);
> >
> > httpConn.executeMethod(get);
> >
> > String responseBody = get.getResponseBodyAsString();
> >
> > if (responseBody.contains("j_spring_security_check")) {
> >
> > String loginUrl = URL +
> > "/j_spring_security_check?j_username="+username+"&j_password="+password;
> >
> > PostMethod authpost = new PostMethod(loginUrl);
> >
> > // Release Get Connection
> >
> > get.releaseConnection();
> >
> > httpRes = httpConn.executeMethod(authpost);
> >
> > responseBody = authpost.getResponseBodyAsString();
> >
> > if (httpRes == 301 || httpRes == 302 || httpRes == 307) {
> >
> > // redirected, get content page
> >
> > get = new GetMethod(authpost.getResponseHeader("Location")
> >
> > .getValue());
> >
> > System.out.println(authpost.getResponseHeader("Location").getValue());
> >
> > get.setRequestHeader("Content-Type","text/plain; charset=UTF-8");
> >
> > authpost.releaseConnection();
> >
> > httpRes = httpConn.executeMethod(get);
> >
> > responseBody = get.getResponseBodyAsString();
> >
> > get.releaseConnection();
> >
> > }
> >
> > } else {
> >
> > get.releaseConnection();
> >
> > }
> >
> > return httpConn;
> >
> >
> >
> >   }
> >
> > After i get this authenticated session, I create RestTemplate and invoke
> > REST services.
> >
> > RESTClient rs = new RESTClient("mifos", "testmifos");
> >
> > HttpClient httpClient = rs.prepareConnection();
> >
> > CommonsClientHttpRequestFactory cf = new
> > CommonsClientHttpRequestFactory(httpClient);
> >
> > RestTemplate restTemplate = new RestTemplate(cf);
> >
> > String url = "http://localhost:9081/mifos/personnel/id-current.json";;
> >
> > HttpHeaders headers = new HttpHeaders();
> >
> > headers.setContentType(MediaType.APPLICATION_JSON);
> >
> > String result = restTemplate.getForObject(url, String.class);
> >
> > Could you please advise if there is a better way to achieve this? Thanks.
> > Regards,
> > Satish
> >
> >
> > On 16 November 2011 21:51, Udai Gupta <[email protected] <javascript:>> 
> wrote:
> >>
> >> I have an example how the authentication works using python.
> >> 
> https://github.com/mifos/head/blob/master/rest/scripts/mifos-rest.py#L47
> >>
> >> url = base_url + '/j_spring_security_check'
> >> data = urllib.urlencode({'j_username' : username, 'j_password' :
> >> password, 'spring-security-redirect' : '/status.json'})
> >> headers =  {'User-agent' : 'Mifos REST Client',
> >> 'Content-Type':'application/x-www-form-urlencoded'}
> >> req = Request(url, data, headers)
> >>
> >> You have to submit these parameters.
> >> j_usename = mifos
> >> j_password = testmifos
> >> spring-security-redirect: /status.json
> >>
> >> to URL like http://localhost:8080/mifos/j_spring_security_check
> >> with
> >> 'Content-Type':'application/x-www-form-urlencoded'
> >>
> >> The response on successful login will contain cookie with jsessionid
> >> for authentication.
> >> and a JSON response { status : 'Success' }
> >>
> >> If you are looking into a specific client/language let me know I will
> >> try to create an example code for authentication and successful call.
> >>
> >> Udai
> >> On Sun, Nov 13, 2011 at 6:00 PM, Satish <[email protected] 
> <javascript:>> wrote:
> >> > Hi Udai/Binny,
> >> > I have been following up recent development on the REST front in Mifos
> >> > and
> >> > trying to build a external client which will consume the web services.
> >> > I have been trying this from a spring app ( I did try to follow up
> >> > Udai's
> >> > python client too) but couldnt  successfully authenticate mifos. As I
> >> > understand, i will have to authenticate and then maintain cookie data
> >> > for
> >> >  following request, however It is just not working out. May I ask you 
> to
> >> > help me with a little code snippet in Java which can let me 
> authenticate
> >> > with mifos and save cookie to use for subsequest request?
> >> > I tried various ways to create a http request and send it to mifos, 
> but
> >> > either it fails with "invalid username/password" (which is misleading)
> >> > or
> >> > does nothing.
> >> > Also, I see in REST API for authentication at
> >> >
> >> >  
> https://docs.google.com/document/d/1dZWg7Dw6kGJbpowjHJRCgdX3r9EI3p2K2yCGcC0s6XM/edit?hl=en_US
> >> > 1)Authentication
> >> > Content-Type:application/json
> >> > url:http://localhost:8080/mifoslive/authenticate
> >> > method:post
> >> > Body:
> >> > {
> >> >     PersonnelDetails: {
> >> >         userName: "support",
> >> >         password: "password"
> >> >     }
> >> > }
> >> > Is this really there in place? I couldnt find it. Could any one of you
> >> > help
> >> > me sort this authentication with mifos please?
> >> > Sorry about sending a direct email, My group access is not working 
> yet.
> >> > I
> >> > will appreciate your help. thanks.
> >> > Regards,
> >> > Satish
> >
> >
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> Mifos-developer mailing list
> [email protected] <javascript:>
> Unsubscribe or change settings at:
> https://lists.sourceforge.net/lists/listinfo/mifos-developer
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mifos Developer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mifosdeveloper.
For more options, visit https://groups.google.com/d/optout.

Reply via email to