Leitura de string via internet

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Boa tarde mestres...
Preciso de uma ajuda de vocês..sou bem pamonha na parte de programação envolvendo web.
Sente só o drama.
Preciso fazer um sistema que envie uma string (para o site do serasa)...o site vai retornar outra string...então preciso fazer a leitura deste arquivo.
Alguém poderia me ajudar de como faço isso???
Lembrando que sou uma anta quando envolve web...rsrsrs

agradeço.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Não existe um layout de comunicação xml? Nenhuma documentação do tipo?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Não existe um layout de comunicação xml? Nenhuma documentação do tipo?
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Cara...o que tem é uma string (que preencho com dados do cliente)...e o retorno é uma string...então vou pegar a string d retorno e manipular os dados...a minha dificuldade é enviar a string pelo pl/sql e receber o retorno...

Exemplo...
Vou consultar os dados de um cliente se ele tem algum processo aberto... então envio https://mqlinuxext.serasa.com.br/Homolo ... ?p="string conforme o layout " e nisso tem um retorno...

Para testar, colo o endereço+string no próprio browser..

não sei se fui claro
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Boa tarde galera...
Olha só...estou fuçando neste esquema web service...
Continuo tentando capturar a mensagem de resposta do servidor ao qual estou requerendo serviço...
então..estou usando o seguinte código

Selecionar tudo

    req UtL_HTTP.REQ;
    resp UTL_HTTP.RESP;
    l_url varchar2(3255) := 'https://mqlinuxext.serasa.com.br/Homologa/consultahttps?p="string conforme layout"';
    
BEGIN

  utl_http.set_wallet ( path     => 'file: /home/oracle',
                        password => '*******'  );



   req := utl_http.begin_request ( url          => l_url,
                                    method       => 'POST',
                                    http_version => UTL_HTTP.HTTP_VERSION_1_1);
então me retorna o seguinte erro:

Ora-29273: HTTP request failed
Ora-06512: at"sys.util_http"
Ora-28759:Failure to open file

bom...O site não está errado, pois se colocar a string no browser retorna os valores que necessito

Será q alguém ai tem alguma ideia doq posso fazer?? :lol:

Awww..o banco é 10g

Abraços
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Boa tarde turma... a teimosia é uma coisa fantástica..rsrsrs..
Bom, consegui conectar e importar o arquivo...

Para acessar um site https é necessário criar um Wallet no servidor. Este servidor deve ter acesso a internet e os arquivos (certificados digitais) devem estar em um diretório com permissão para os usuários.
neste link mostra como criar as wallet http://www.idevelopment.info/data/Oracl ... L_19.shtml

Depois de criar as wallet o comando fica mais ou menos assim:

Selecionar tudo

Declare
      x           varchar2(4000);

      req  UtL_HTTP.REQ;
      
      resp UTL_HTTP.RESP;

      l_url varchar2(32055) := 'https://mqlinuxext.serasa.com.br/Homologa/consultahttps?p="String conforme Layout"';
   
   BEGIN

      utl_http.set_wallet ( path     => 'file:C:\oracle_wallet',
                            password => '******'  );


      --

      --Converte os caracteres "ilegais" (por exemplo espaços em brancos)
      
      l_url := utl_url.escape ( url => l_url );

      --Busca o retorno da url
      
      req := utl_http.begin_request ( url          => l_url,
                                      method       => 'POST',
                                      http_version => UTL_HTTP.HTTP_VERSION_1_1);

      --Recupera o retorno da string enviada.
      
      resp := UTL_HTTP.GET_RESPONSE 
                           (R => req);
   
      lOOP
      
         begin
      
            UTL_HTTP.read_text(resp, x, null);

            insert into TABELA_PARA_MANIPULAR values (x);

         exception
            
            when others then
         
               exit;
            
         end;
         
      END LOOP;
      
END;

Busquei muitas informações deste link http://docs.oracle.com/cd/B19306_01/app ... m#i1025603

Bom turma...é isso...se alguém tiver alguma dúvida...posta ai.

t+
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes