Árvore de páginas

Função: HTTPPostXml

Permite emular um client HTTP - HyperText Transfer Protocol (Protocolo de Transferência de Hipertexto) através de uma função AdvPL - Advanced Protheus Language.

HTTPPostXml ( < cURL>, [ cParam], < cFile>, < nTimeOut> ) --> cRetorno

NomeTipoDescriçãoObrigatórioReferência
cURLCaracterIndica o endereço do servidor HTTP para o qual será realizado o POST dos dados. X
cParamCaracterIndica os parâmetros adicionais que serão passados na postagem. Esses parâmetros são adicionados no final da URL, precedidos de um “?”.
cFileCaracterIndica o caminho do arquivo XML que será enviado no conteúdo do pacote HTTP. Até a build 101202A, esse caminho deveria ser o caminho absoluto do arquivo na máquina em que o Application Server estava rodando. Em builds posteriores, é suportado tanto o caminho absoluto quanto o caminho relativo do arquivo no server. X
nTimeOutNuméricoIndica o tempo máximo de inatividade (timeout) que a requisição irá aguardar pela resposta do servidor em segundos. X
    cRetorno(caracter)
  • Retorna uma string HTML da página requisitada. Caso não tenha sido possível realizar o POST por URL errada, timeout, ou então o arquivo não existir, a função retornará uma string vazia (""). Caso a URL for uma função AdvPL que não foi encontrada no Server, o retorno será um HTML com “RPCERROR: Invalid function call”.
  • Para obter o conteúdo do arquivo XML enviado, é necessário utilizar a função HTTPOtherContent().
  • A função seta automaticamente o identificador Content-type para text/xml.
  • É possível obter o mesmo resultado da função HTTPPostXml utilizando HTTPPost e funções de acesso a disco e arquivos (FOpen, FSeek, FRead). No entanto, seria necessário criar um programa AdvPL para tal, o que pode ser simplificado a uma única chamada a HTTPPostXml.
user function TstPostXml()local cUrl := "http://localhost/u_testabrowser.apl"local cParam := ""local cFile := "c:\resources\myfile.xml"local nTimeout := 3cRetorno := httppostxml(cUrl, cParam, cFile, nTimeOut)if !empty(cRetorno)	conout(cRetorno)	return cRetornoelse	conout("Problema ao postar xml, verifique os parametros")endifreturn
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

  • Sem rótulos