Variável longchar com XML para uma temp-table

Discussão em 'Progress 4GL' iniciado por noellen, Novembro 12, 2013.

  1. lwazevedo

    lwazevedo Membro Ativo

    OI noellen,

    Tu pôde fazer assim....

    Código:
    def var Hdoc  as handle.
    def var Hroot as handle.
    
    create x-document HDoc.
    Hdoc:load("LONGCHAR","seu retorno longchar",false).
    create x-noderef hroot.
    hDoc:get-document-element(hroot).
    
    run obtemnode (input hroot).
    
    procedure obtemnode.
        def input parameter vh as handle.
        def var hc as handle.
        def var loop  as int.
    
        create x-noderef hc.
    
        do loop = 1 to vh:num-children:     
          vh:get-child(hc,loop).                                       
    
          run obtemnode (input hc:handle).
    
          case vh:name :
                when "Tags-1 then do:
                    create suaTempTable.
                    if hc:node-value <> "" then assign campoDaTempQueDeseja-1 = hc:node-value.
                end.
                when "tags-2" then do:
                    if hc:node-value <> "" then assign campoDaTempQueDeseja-2 = hc:node-value.
                end.
                when "tags-3" then do:
                    if hc:node-value <> "" then ASSIGN campoDaTempQueDeseja-3 = hc:node-value.
                end.
                when "tags-4" then do:
                    if hc:node-value <> "" then assign campoDaTempQueDeseja-4 = hc:node-value.
                end.
          end case.
    
        end.
    end.
    
    Espero que te ajude...

    Obrigado.
  2. Agnaldo

    Agnaldo Membro Ativo

    Eu notei, em outros posts, que o pessoal "literalmente" re-inventa a roda para ler WebServces com o Progress.

    Progress 10 possui um facilitador para isso.

    Usando o serviço que a Noellen citou podemos fazer assim:

    1) Abra uma janela do DOS
    2) Chame o script do Progress que gera documentação do WebService, usando algo como:
    c:\dlc\bin\bprowsdldoc http://ws3.smartscore.com.br/DBIws.dll/wsdl/IDBIws

    Ele ira criar na pasta em uso a documentação (4GL Progress) para acessar trabalhar com o serviço.
    E não estamos falando de "ler" soap/xml.
    Ele gera pra nós as rotinas em 4GL mesmo, usando as temp do Progress.
    cp.andrade e noellen curtiram isso.

Compartilhe esta Página