none
Erro ao enviar requisição HTTP para WS SOAP: O servidor remoto retornou um erro: (415) Unsupported Media Type. RRS feed

  • Pergunta

  • Olá bom dia a todos.

    Eu estou tentando enviar uma requisição via HttpWebRequest para um servidor via SOAP e está retornando o seguinte erro:

    O servidor remoto retornou um erro: (415) Unsupported Media Type.
    O código da minha função é o seguinte:

     private string enviarRequisicao(string data, X509Certificate2 certificado)
            {
                try
                {
                    //string data = "the xml document to submit";
                    string url = this.Endereco;
                    string response = "";
    
                    // build request objects to pass the data/xml to the server
                    byte[] buffer = Encoding.ASCII.GetBytes(data);
                    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
                    request.Method = "POST";
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.ContentLength = buffer.Length;
                    request.ClientCertificates.Add(certificado);
                    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 (Exception ex)
                {
                    throw ex;
                }
            }

    Eu debuguei o código e a variável data chega nesse ponto com um xml válido, que eu testo no programa SoapUI e funciona normalmente.

    Alguém sabe o que está errado no código?
    Desde já agradeço a ajuda.

    quarta-feira, 23 de maio de 2018 14:00

Respostas

  • Desculpa galera estou envergonhado, o problema foi essa linha 

    request.ContentType = "application/x-www-form-urlencoded";

    que troquei por essa

    request.ContentType = "text/xml;charset=utf-8";

    Estava tão obcecado pelo formato do xml que estava enviando que não notei isso.

    quarta-feira, 23 de maio de 2018 18:39