Passar pra java FECHADO!

3 respostas
snowblacksoul

Pessoal gostaria de passar esse codigo que está em c# pra java como faço!!!?

try
        {
            // resultado em formato string
            string result = "";

            // dados a serem enviados via POST (
            string strPost = "Dado1=Valor1&Dado2=Valor2"; 

            // --- envio dos dados -----
            StreamWriter myWriter = null;            
            HttpWebRequest objRequest =
                (HttpWebRequest)WebRequest.Create("https://WWW.RAD.CVM.GOV.BR/DOWNLOAD/SolicitaDownload.asp");

            objRequest.Method = "POST"; 
            objRequest.ContentLength = strPost.Length;
            objRequest.ContentType = "application/x-www-form-urlencoded";
            
            try
            {                
                myWriter = new StreamWriter(objRequest.GetRequestStream());                
                myWriter.Write(strPost);                
            }                
            catch
            {
                throw new Exception("Could not establish connection to server.");
            }
            finally
            {                
                myWriter.Close();                
            }
            // ------------------------------

            // --- recebimento dos dados ----
            XmlReader reader = null;
            HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
            using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
            {       
                // salva o retorno em um string
                result = sr.ReadToEnd();

                // salva o retorno em um objeto XmlReader
                reader = XmlReader.Create(sr);                                
            }

            // trate seus dados aqui
            
        }
        catch
        {
            throw new Exception("Could not establish connection to server");
        }
Veja no código acima, os dados a serem enviados você coloca em uma string (strPost) separando-os por '&'

Na parte final do código voce recebe a resposta usando um objeto StreamReader. Com ele, voce pode ler os dados e atribuir a uma string (result) se desejar ou no seu caso, criar um objeto XmlReader para fazer a leitura sequencial dos dados.

Se voce  quiser LER a resposta, é melhor mesmo o XmlReader. Caso deseje alterar a estrutura desse xml, editando/excluindo nós, use um objeto XmlDocument em lugar do XmlReader.

Para ler o xml com o XmlReader, voce faz de modo sequencial ( por ). Abaixo um exemplo básico.

// le cada  do arquivo xml
while (reader.Read())
{
     // caso queira checar o tipo do 
     switch (reader.NodeType)
    {                  
           case XmlNodeType.Element:
                        
               // reader.Name - nome do 
               // reader.Value - valor do 

                        break;
  
           case XmlNodeType.EndElement :

                        break;

           case XmlNodeType.Text:
                        
                        break;
      }
}

3 Respostas

otaviojava

A sintexa das duas linguagens é bem semelhante acredito que você não terá dificuldade nenhuma.
Sobre passar o objeto para xml existe um artigo aqui mesmo dentro do GUJ falando sobre o XStream.
Dá uma olhada
http://www.guj.com.br/articles/144

quebrado

É um webservice que vc ira consumir?!
Da uma olhadinha no JAX-WS 2.0 que pode te ajudar nesta tarefa.
É bem simples.
:thumbup:

snowblacksoul

PÔ OTAVIO VALEU MESMO HEIM!! ACHO QUE É ISSO MESMO QUE EU PRECISAVA VALEU CARA!!

Criado 28 de dezembro de 2010
Ultima resposta 28 de dez. de 2010
Respostas 3
Participantes 3