Socket + XML

Discussão em 'Progress 4GL' iniciado por sam.borgir, Maio 12, 2010.

  1. sam.borgir

    sam.borgir Sem Pontuação

    Bom dia colegas do forum!

    Sou novo por aqui e, em primeiro lugar, gostaria de parabenizar pela qualidade dos posts e por toda a ajuda disponibilizada pelos membros do fórum.

    Me foi lançado um desafio de criar um programa para comunicação com Webservices para integração com a nota fiscal eletrônica de serviços.
    Para fazer toda a integração com os Webservices, criei uma rotina em PHP que assina os arquivo, os envia para a prefeitura que, após a autorização, retorna outro XML com esta informação. Neste ponto parti para o PHP por que não consegui fazer a assinatura digital com o Progress.

    Minha primeira questão é que se fui eu quem não procurou direito ou realmente o Progress não oferece esse tipo de função de assinatura digital. Alguém sabe algo sobre?

    Outra questão é a seguinte: Para que eu não tenha muito I/O, gostaria de invocar meu Webservice em PHP através de sockets, para que o mesmo fosse invocado somente quando fosse utilizado, evitanto, por exemplo, que eu tivesse que colocar no ar outro programa que ficasse "varrendo" um diretório continuamente buscando novos arquivos XML para envio. A comunicação com o socket não é o problema em si. O que eu gostaria de saber se alguém sabe se é possível eu enviar o arquivo XML através desta comunicação.

    Agradeço antecipadamente pela ajuda!

    Att.
  2. sam.borgir

    sam.borgir Sem Pontuação

    Boa tarde!

    Depois de muito quebrar a cabeça, consegui uma solução parcial para o meu problema.

    Quando gero meu XML, ao invés de gerá-la em arquivo, estou utilizando o método "save" direcionando a saída para uma variável do tipo MEMPTR. Para repassar este arquivo para o meu socket de destino, estou enviando essa variável toda para a conexão. Fiz alguns testes gerando o XML em arquivo e em MEMPTR e recebendo-a no destino do socket e exportando para arquivo e ficaram iguais, tanto na origem como no destino! o/

    Quando à isso ficou beleza! O problema agora é que ainda não consegui transmitir arquivos com mais de 32 Kb. Mesmo que eu jogue o conteudo para uma variavel do tipo LONGCHAR, o Progress não me permite fazer a exportação para arquivo.

    Enfim, continuarei buscando uma solução. Se alguém souber de algo, fico agradecido com a ajuda.

    []'s
  3. carlosj

    carlosj Sem Pontuação

    Bom dia,
    Eu trabalhei com a exportacao de XML para memptr e envio atraves do Socket... porem nao encontrei limitacoes no tamanho quanto a utilizacao da memptr...
    nao entendi o seu problema...
    Onde exatamente esta acontecendo o erro?

    Lembrando que quando vc gera um dado em um tipo de variavel o maximo eh 32kb salvo o caso de gerar em memptr...
    ou seja nao pode se gerar um conteudo em uma memptr que ultrapasse os 32kb e depois tentar recurar para um LONGCHAR ou RAW...

    espero ter ajudado.

Compartilhe esta Página