Ir para conteúdo
Fórum Script Brasil

thaisribeiron

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre thaisribeiron

thaisribeiron's Achievements

0

Reputação

  1. Boa tarde pessoal, Posso pedir socorro? Estou desesperada, já rodei a internet em busca de uma solução e não encontrei :/ vou explicar o que está acontecendo: Estou tentando fazer uma requisição via POST usando httpwebrequest assim: public DataSet BuscaRetornoXMLSite(ParametrosSite site, ParametrosEntrada entrada) { WebRequest requisicao = null; WebResponse resposta = null; StreamReader leitorConteudo = null; Stream dataStream = null; DataSet ds; StringBuilder parametros; string status; byte[] byteArray; try { parametros = new StringBuilder(); if (entrada.codigo_transacao > -1) { parametros.Append(String.Format(Constantes._CODIGO_TRANSACAO, entrada.codigo_transacao)); } if (entrada.loja_primaria != null) { parametros.Append(String.Format(Constantes._LOJA_PRIMARIA, entrada.loja_primaria)); } if (entrada.nome_primario != null) { parametros.Append(String.Format(Constantes._NOME_PRIMARIO, entrada.nome_primario)); } if (entrada.senha_primaria != null) { parametros.Append(String.Format(Constantes._SENHA_PRIMARIA, entrada.senha_primaria)); } if (entrada.compra > -1) { parametros.Append(String.Format(Constantes._COMPRA, entrada.compra)); } if (entrada.produto != null) { parametros.Append(String.Format(Constantes._PRODUTO, entrada.produto)); } if (entrada.valor > -1) { parametros.Append(String.Format(Constantes._VALOR, entrada.valor.ToString(new CultureInfo(Constantes.CULTURA_XML)))); } if (entrada.ddd != null) { parametros.Append(String.Format(Constantes._DDD, entrada.ddd)); } if (entrada.fone != null) { parametros.Append(String.Format(Constantes._FONE, entrada.fone)); } if (entrada.id_terminal > -1) { parametros.Append(String.Format(Constantes._ID_TERMINAL, entrada.id_terminal)); } if (entrada.uf_terminal != null) { parametros.Append(String.Format(Constantes._UF_TERMINAL, entrada.uf_terminal)); } if (entrada.dataHoraOperacao > -1) { parametros.Append(String.Format(Constantes._DATAHORAOPERACAO, entrada.dataHoraOperacao)); } if (entrada.versao > -1) { parametros.Append(String.Format(Constantes._VERSAO, entrada.versao.ToString(new CultureInfo(Constantes.CULTURA_XML)))); } if (entrada.cod_retorno > -1) { parametros.Append(String.Format(Constantes._COD_RETORNO, entrada.cod_retorno)); } if (entrada.dataConsulta != null) { parametros.Append(String.Format(Constantes._DATACONSULTA, entrada.dataConsulta)); } if (entrada.cod_online > -1) { parametros.Append(String.Format(Constantes._COD_ONLINE, entrada.cod_online)); } parametros.Remove(parametros.ToString().IndexOf("&"), 1); //Cria uma requisição usando uma URL que pode receber um post. requisicao = (WebRequest)WebRequest.Create(site.endereco); //Seta Credenciais requisicao.Proxy = site.proxy; requisicao.Credentials = site.credenciais; //Seta a propriedade Método do pedido de POST. requisicao.Method = site.metodo; byteArray = Encoding.UTF8.GetBytes(parametros.ToString()); //Seta a propriedade ContentType do WebRequest. requisicao.ContentType = "application/xml;charset=ISO-8859-1"; //Seta a propriedade ContentLength do WebRequest. requisicao.ContentLength = byteArray.Length; //Obtem o fluxo da solicitação. dataStream = requisicao.GetRequestStream(); //Escreve os dados para o fluxo de solicitação. dataStream.Write(byteArray, 0, byteArray.Length); //Fecha o objeto Stream. dataStream.Close(); //Obtem a resposta. resposta = requisicao.GetResponse(); //Exibir o status. status = ((HttpWebResponse)resposta).StatusDescription; //Obtem o conteúdo retornado pelo servidor. dataStream = resposta.GetResponseStream(); //Abre um stream utilizando um StreamReader para fácil acesso. leitorConteudo = new StreamReader(dataStream, Encoding.GetEncoding(Constantes.ENCODING_XML)); //Popula DataSet ds = new DataSet("DataSetConteudoXML"); //GeraLogErro.Erro("XML SITE", leitorConteudo.ReadToEnd()); ds.ReadXml(leitorConteudo); return ds; } catch (Exception ex) { throw ex; } finally { if (leitorConteudo != null) leitorConteudo.Close(); if (dataStream != null) dataStream.Close(); if (resposta != null) resposta.Close(); leitorConteudo = null; dataStream = null; resposta = null; } }Mas na hora que dou um resposta GetRequestStream() ele gera o seguinte erro: 'dataStream.Length' threw an exception of type 'System.NotSupportedException' 'dataStream.Position' threw an exception of type 'System.NotSupportedException'Se alguém conseguiu resolver, me ajudem por favor! Obrigada!
×
×
  • Criar Novo...