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:
publicDataSetBuscaRetornoXMLSite(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 =newStringBuilder();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(newCultureInfo(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(newCultureInfo(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 =newStreamReader(dataStream,Encoding.GetEncoding(Constantes.ENCODING_XML));//Popula DataSet
ds =newDataSet("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!
Pergunta
thaisribeiron
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:
Mas na hora que dou um resposta GetRequestStream() ele gera o seguinte erro:
Se alguém conseguiu resolver, me ajudem por favor!
Obrigada!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.