Search code examples
javaweb-servicesmavenapache-axis

Unable to call webservice from Java in flex application


Hello I face some problem, I'm not able to to call webservice from java and send the result to flex side.

the process

  • the user launches the application and lands on an authentication form
  • The user enters login and password and submits the authentication form
  • Submission call on java side a remoteservice checkUserCredetialFromLdap()
  • inside this java method I try to call an external ldap webservice as shown below.
  • The class responsible for ldap ws call is in custom jar (Maven dependencies)

    public User checkUserCredetialFromLdap(String identifiant, String password) throws EmmBusinessException, LdapServiceException{
    
        User myUser = null;
        User myCompleteUser = null;
    
         //initialization of webservice with the endpoint URL failed
        Axis1LdapWsAuth ws = new Axis1LdapWsAuth(Config.getProperties().getProperty("endpoint.url"));
    
        try{
            //authentication using webservice
            String csif_sessionID =ws.login(identifiant, password);
            ....
        }
        }catch(LdapServiceException lse)
        {
            EmmBusinessException emmB = new EmmBusinessException(lse,this,"","Unable to get User",Level.WARNING);
            log(emmB);
            throw (emmB);
        }
        catch (Exception t) {
            EmmBusinessException emmB = new EmmBusinessException(t,this,"","Unable to get User",Level.WARNING);
            log(emmB);
            throw (emmB);
        } finally {
            finish();
        }
        return myCompleteUser;
    }
    

I know it's possible to call webservice on flex side using RPC, but I don't want to do that, but for some reason I need to and have to call webservice from java side.

is't possible ? How can I do that ?


Solution

  • I suggest you to:

    • Develop a kind of proxy ldap webservice whose will do the bridge between flex app and your custom ldap authentication process
    • Use HttpService from flex to send parameter to the proxy ldap
    • Use proxy ldap to consume the checkUserCredetialFromLdap api with parameter get from flex