none
HttpWebRequest: WebService SOAP do ESocial retornando erro interno "500". RRS feed

  • Pergunta

  • Eu estou tentando enviar um documento soap via c# porém o servidor do ESocial está me retornando a seguinte menssagem: "The remote server returned an error: (500) Internal Server Error."

    O xml que estou enviando via HttpWebRequest, é a mesma que envio através do SoapUI, o certificado é o mesmo e a url é a mesma também, mesmo assim lá retorna uma string com uma xml, mesmo que seja erro de lógica de negócio. Porém através do C# ele só me retorna erro 500. O código que uso é esse abaixo:

    string web_service_teste = "https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc";
    
    private static string enviarRequisicao(string xml_soap)
            {
                try
                {
                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
                    string url = web_service_teste;
                    string response = "";
                    X509Certificate2 cert = new X509Certificate2(@"D:\Projetos\certificados\xxxxx.pfx", "xxxxx");
                    // build request objects to pass the data/xml to the server
                    byte[] buffer = Encoding.ASCII.GetBytes(xml_soap);
                    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
                    request.Method = "POST";
                    request.ContentType = "text/xml;charset=utf-8";
                    request.ContentLength = buffer.Length;
                    request.ClientCertificates.Add(cert);
                    Stream post = request.GetRequestStream();
    
                    // post data and close connection
                    post.Write(buffer, 0, buffer.Length);
                    post.Close();
    
                    // build response object
                    HttpWebResponse resposta = request.GetResponse() as HttpWebResponse;
                    Stream responsedata = resposta.GetResponseStream();
                    StreamReader responsereader = new StreamReader(responsedata);
                    response = responsereader.ReadToEnd();
                    return response;
                }
                catch (WebException ex)
                {
                    throw ex;
                }
            }

    Alguém poderia me ajudar a saber o que há de errado no código? Desde já agradeço pelo tempo de vocês. :)

    sábado, 25 de agosto de 2018 16:35

Respostas

Todas as Respostas