private void initWSH()
        {
            try
            {
                // create proxy object for Metadata Web Service
                MWSProxy = new InfaWSHMetaData.MetadataService();

                if (MWSProxy == null)
                {
                    throw new NullReferenceException("Initializing : MetaData Service NOT Exploitable");
                }

                MWSProxy.Url = MWS_URL;

                InfaWSHMetaData.LoginRequest loginReq
                    = new InfaWSHMetaData.LoginRequest();

                loginReq.RepositoryDomainName = REPO_DOMAIN_NAME;
                loginReq.RepositoryName       = REPO_NAME;
                loginReq.UserName             = USER_NAME;
                loginReq.Password             = PASSWORD;

                // get all important sessionID
                String sessID = MWSProxy.login(loginReq);

                // set header with sessionID
                MWSProxy.Context           = new InfaWSHMetaData.SessionHeader();
                MWSProxy.Context.SessionId = sessID;

                // create proxy object for DataIntegration Web Service
                DIWSProxy = new InfaBGInfo_Core.InfaWSHDataIntegration.DataIntegrationService();
                if (DIWSProxy == null)
                {
                    throw new NullReferenceException("Initializing : DataIntegration Service(WSH) NOT Exploitable");
                }

                // pass in the DI URL and use the same session ID
                DIWSProxy.Url               = DIWS_URL;
                DIWSProxy.Context           = new InfaBGInfo_Core.InfaWSHDataIntegration.SessionHeader();
                DIWSProxy.Context.SessionId = sessID;

                // set login as successful
                isLoginSuccessful = true;
            }
            catch (System.Exception e)
            {
                throw e;
            }
        }
 /// <remarks/>
 public void loginAsync(LoginRequest Login1)
 {
     this.loginAsync(Login1, null);
 }