Пример #1
0
    private static string SoapMessageBuilder(SoapMessages message, SoapParameters param)
    {
        string retVal = "";

        switch (message)
        {
        case SoapMessages.AuthenticationToken:

            retVal  = "<?xml version=\"1.0\" encoding=\"utf-8\" ?> ";
            retVal += "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\>";
            retVal += " <soap:Header> ";
            retVal += "<context xmlns=\"urn:zimbra\"> ";
            retVal += "<format type=\"xml\"/> ";
            retVal += "</context> ";
            retVal += "</soap:Header> ";
            retVal += "<soap:Body> ";
            retVal += "<AuthRequest xmlns=\"urn:zimbraAdmin\"> ";
            retVal += "<account by=\"name\">cuenta@</account> ";
            retVal += "<password>Clave segura</password> ";
            retVal += "</AuthRequest> ";
            retVal += "</soap:Body> ";
            retVal += "</soap:Envelope>";
            break;
            return(retVal);
        }
    }
Пример #2
0
    public static void CreateNewZimbraAccount(string username, string domainName, string firstName, string lastName)
    {
        SoapParameters myParam = new SoapParameters()
        {
            accountUsername  = string.Format("{0}@{1}", username, domainName),
            accountFirstName = firstName,
            accountLastName  = lastName,
        };

        AccountService.Create(myParam);
    }
Пример #3
0
    private static void CreateAccountRequest(SoapParameters param)
    {
        XmlDocument doc = GetResponseDoc(param, SoapMessages.CreateAccount);

        try
        {
            string value = doc.GetElementsByTagName("CreateAccountResponse").Item(0).ChildNodes[0].Attributes["id"].Value;
            Guid   guid  = new Guid(value);
            param.accountId = guid.ToString();
        }
        catch
        {
            throw new Exception("Account Did Not Appear To Be Created.");
        }
    }
Пример #4
0
        public IActionResult ResponseRequest([FromBody] SoapParameters soapParameters)
        {
            try
            {
                var response = new SoapAdapter(soapParameters).SoapDynamicallyCall();
                return(Ok(new { EnvelopeResponse = response }));
            }
            catch (Exception ex)
            {
                if (ex.GetType() == typeof(TimeoutException))
                {
                    return(StatusCode(408, new { MessageError = ex.Message }));
                }

                return(BadRequest(new { MessageError = ex.Message }));
            }
        }
Пример #5
0
    private static XmlDocument GetResponseDoc(SoapParameters param, SoapMessages message)
    {
        string      soapMessage = SoapMessageBuilder(message, param);
        XmlDocument requestDoc  = new XmlDocument();

        requestDoc.LoadXml(soapMessage);
        HttpWebRequest request = HttpWebRequestBuilder(param.serviceAdminSoapUri);
        Stream         stm     = request.GetRequestStream();

        requestDoc.Save(stm);
        stm.Close();
        WebResponse resp = request.GetResponse(); // here occurs error ---// Unable to //establish a relationship of trust secure channel for SSL / TLS, .

        stm = resp.GetResponseStream();
        StreamReader r           = new StreamReader(stm);
        XmlDocument  responseDoc = new XmlDocument();

        responseDoc.LoadXml(r.ReadToEnd());
        return(responseDoc);
    }
Пример #6
0
    private static void GetAdministratorAuthenticationToken(SoapParameters param)
    {
        XmlDocument doc = GetResponseDoc(param, SoapMessages.AuthenticationToken);

        param.authToken = doc.GetElementsByTagName("authToken").Item(0).InnerXml;
    }
Пример #7
0
    // class AccountService

    public static void Create(SoapParameters param)
    {
        GetAdministratorAuthenticationToken(param);
        CreateAccountRequest(param);
    }