Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css
Portuguese

Pagetitle
XmlC14NFile
XmlC14NFile

...

Função: XmlC14NFile

Armazena ou apaga um objeto na lista de objetos do servidor.

XmlC14NFile ( < cID>, < oMailObj> ) --> Nil

Nota
icontrue
titleAtenção

Em build superior a 7.00.121227P há mudança de comportamento na canonicalização do caractere de referência &#x20;.

Esta função permite aplicar o algoritmo canonicalization C14N em um arquivo que contém um XML.

Sintaxe

Bloco de código
collapsefalse
XmlC14NFile( < cFile >, < cOption >, < @cError >, < @cWarning > )

Parâmetros

...

Nome

Tipo

Descrição

Obrigatório

Referência

...

cFile

caractere

Indica caminho do arquivo XML que assumirá a formato canonical.

X

 

cOption

caractere

Reservado para implementação futura. Deve ser informada uma string em branco.

X

 

cError

caractere

Retorna uma descrição de erro, em caso de falha no Parser.

X

X

cWarning

caractere

Retorna uma descrição de advertência emitida pelo Parser.

X

X

Retorno

Nome

Tipo

Descrição

cRetXML

caractere

Retorna o XML recodificado na forma canonical.

Observações

  • Um algoritmo de canonicalization tem o objetivo de aplicar as seguintes regras em um XML:
    • Normalizar quebras de linha
    • Normalizar valores de atributos
    • Trocar seções CDATA pelo seu conteúdo explícito
  • Essa função atende às especificação W3C - World Wide Web Consortium REC-xml-c14n-20010315. Ela aplica a canonicalização na string XML informada como parâmetro em conformidade com a especificação de canonicalização C14N 1.0 (não-exclusiva), removendo comentários.
  • O caminho apontado por cFile será convertido para letra minúscula.
  • Caso o conteúdo do arquivo XML seja válido, porém o processo de canonicalização não seja completo com sucesso, a função retornará uma string em branco.
  • Caso o arquivo XML informado como parâmetro não tenha conteúdo válido, não seja um XML, caso seja um XML mal-formado, a função retornará uma string em branco e colocará no parâmetro <cErro> a mensagem "Failed to parse XML".
  • Essa função trabalha somente com arquivos e diretórios localizados no servidor (rootPath). Caso seja passado um caminho de arquivo do SmartClient, o programa será interrompido e será apresentada a mensagem "Only server path are allowed on XmlC14NFile".

Exemplos

Nil (Nulo)
  • Esta função, pode ser utilizada para armazenar um objeto de conexão de e-mail (TMailManager), assim como limpar o objeto já gravado anteriormente.

  • Sempre deve ser passado uma string como ID de referência para o objeto que será gravado ou limpado.

  • Quando for informado um valor nulo, no parâmetro [oMailObj], o item com o identificador <cID> será removido da lista de objetos de e-mail.

 

 IMPORTANTE: Documentar os parâmetros obrigatórios que estão faltando (3º e 4º).

user function tstmailobj(cSMTPServer, cMailSever, cUser, cPass)Local oSMTPManager := NilLocal oPOPManager := NilLocal nret := 0oSMTPManager:= tMailManager():New()oSMTPManager:Init("", cSMTPServer, cUser, cPass)// CONEXAO SMTP ---------------------------------------oSMTPManager:SetSmtpTimeOut( 120 )nRet := oSMTPManager:SmtpConnect()If nRet != 0  Conout("[SMTPCONNECT] Fail ao conectar" )  Conout("[SMTPCONNECT][ERROR] " + str(nRet,6) , oSMTPManager:GetErrorString(nRet))  Return .F.Else  Conout( "[SMTPCONNECT] Sucess ao conectar" )EndIf	nRet := oSMTPManager:SMTPAuth(cUser, cPass)If nRet != 0  conout("[AUTH] FAIL TRY with USER() and PASS()")  conout("[AUTH][ERROR] " + str(nRet,6) , oSMTPManager:GetErrorString(nRet))  Return .F.else  conout("[AUTH] SUCEEDED TRY with USER() and PASS()")Endif// GUARDA OBJETO COM CONEXAO SMTP ONLYSetMailObj("SMTPCONN", oSMTPManager)// CONEXAO POP ---------------------------------------oPOPManager:= tMailManager():New()oPOPManager:Init(cMailSever, "", cUser, cPass)nRet := oPOPManager:POPConnect()If nRet != 0  Conout("[POPCONNECT] Fail ao conectar" )  Conout("[POPCONNECT][ERROR] " + str(nRet,6) , oSMTPManager:GetErrorString(nRet))  Return .F.Else  Conout( "[POPCONNECT] Sucess ao conectar" )EndIf	// GUARDA OBJETO COM CONEXAO POP ONLYSetMailObj("POPCONN", oPOPManager)Return .T.User Function DummyPOP()Local oMailManager := NilLocal oMessage := NilLocal nError := 0, nCount := 0, nLoop := 0oMailManager  := GetMailObj("POPCONN")nError := oMailManager:GetNumMsgs(@nLoop)If nError <> 0	ConOut(oMailManager:GetErrorString(nError))	Return MsgStop(oMailManager:GetErrorString(nError), "oMailManager:GetNumMsgs")EndIfConOut(cValToChar(nLoop) + " mensagem(ns)")For nCount := 1 To nLoop	oMessage := Nil	oMessage := tMailMessage():New()	oMessage:Clear()		oMessage:Receive(oMailManager, nCount)                                	ConOut("Mensagem " + cValToChar(nCount))                                Next nCountReturn .T.User Function LIMPAPOP()  // LIMPANDO POSICAO POPCONN  SetMailObj("POPCONN", NIL)Return
Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10
GetMailObj
Bloco de código
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
User function tstC14NFil()
  Local cError := ""
  Local cWarning := ""
  Local cXmlFile := "\xml\example.xml"
  Local cXmlRet := ""
  
  cXmlRet := XmlC14NFile( cXMLFile, "" , @cError, @cWarning )
  
  if ( Len( cXmlRet ) > 0 )
    MemoWrite( "\xml\canonical.xml", cXmlRet )
  else
    conout( "Nao foi possível canonicalizar o XML" )
    varinfo( "cError", cError )
    varinfo( "cWarning", cWarning )
  endif
Return
CaracterIndica um identificador, usado para recuperar o objeto armazenado posteriormente. X oMailObjQualquerIndica um objeto do tipo TMailManager ou nulo. X