void WriteValue(string name, object value)
 {
     if (value != null)
     {
         //_IML.WriteLine(name, value);
         _IML.WriteLine(name + "=" + value.ToString());
         //System.Console.WriteLine(name + "=" + value.ToString());
     }
 }
        private bool DoAutoDiscoverRaw(
            DiscoverType oDiscoverType,
            ref InMemoryListener oIML,
            string sEmail,
            NetworkCredential oNetworkCredential,
            int iMaxHops,
            bool bAllowSelfSignedCerts,
            bool bTraceCertificateInformation
            )
        {
            bool bRet = false;

            try
            {
                // Identifies the maximum number of redirections through either SCP pointer or Autodiscover redirects.

                AutodiscoverRaw oAutodiscoverRaw = new AutodiscoverRaw();
                AutodiscoverRaw.AutodiscoverResponseXml response = null;

                if (oDiscoverType == DiscoverType.Scp)
                {
                    // Call Autodiscover service.
                    response =
                        oAutodiscoverRaw.DiscoverScp(
                            ref oIML,
                            sEmail,
                            oNetworkCredential,
                            ref iMaxHops,
                            bAllowSelfSignedCerts,
                            bTraceCertificateInformation
                            );
                }

                if (oDiscoverType == DiscoverType.Pox)
                {
                    // Call Autodiscover service.
                    response =
                        oAutodiscoverRaw.DiscoverPox(
                            ref oIML,
                            sEmail,
                            oNetworkCredential,
                            ref iMaxHops,
                            bAllowSelfSignedCerts,
                            bTraceCertificateInformation
                            );
                }

                if (oDiscoverType == DiscoverType.Soap)
                {
                    // Call Autodiscover service.
                    //string sUrl = string.Empty;
                    response =
                        oAutodiscoverRaw.TryDiscoverSoap(
                            ref oIML,
                            sEmail,
                            oNetworkCredential,
                            ref iMaxHops,
                            bAllowSelfSignedCerts,
                            bTraceCertificateInformation
                            );
                    //if (sUrl == string.Empty)
                    //    response =  false;
                    //else
                    //    response = true;
                }

                // Write response to console.
                WriteResponse(response);

                bRet = true;
            }
            catch (System.Exception e)
            {
                oIML.WriteLine("Error: " + e.ToString());
                //MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                //System.Console.WriteLine(e.ToString());
                bRet = false;
            }

            return(bRet);
        }