Validação de documentos DDX validating-ddx-documents
Os exemplos e amostras neste documento são somente para AEM Forms no ambiente JEE.
Você pode validar programaticamente um documento DDX usado pelo serviço do Assembler. Ou seja, usando a API de serviço do Assembler, você pode determinar se um documento DDX é válido ou não. Por exemplo, se você atualizou de uma versão anterior do AEM Forms e deseja garantir que seu documento DDX é válido, é possível validá-lo usando a API de serviço do Assembler.
Resumo das etapas summary-of-steps
Para validar um documento DDX, execute as seguintes tarefas:
- Incluir arquivos de projeto.
- Criar um cliente Assembler.
- Consulte um documento DDX existente.
- Defina as opções de tempo de execução para validar o documento DDX.
- Execute a validação.
- Salve os resultados da validação em um arquivo de log.
Incluir arquivos de projeto
Inclua os arquivos necessários no projeto de desenvolvimento. Se você estiver criando uma aplicação cliente usando Java, inclua os arquivos JAR necessários. Se você estiver usando serviços da Web, certifique-se de incluir os arquivos proxy.
Os seguintes arquivos JAR devem ser adicionados ao caminho de classe do projeto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-assembler-client.jar
- adobe-utilities.jar (necessário se o AEM Forms for implantado no JBoss)
- jbossall-client.jar (necessário se o AEM Forms for implantado no JBoss)
se o AEM Forms for disponibilizado em um servidor de aplicativos J2EE compatível diferente do JBoss, você deverá substituir os arquivos adobe-utilities.jar e jbossall-client.jar por arquivos JAR específicos para o servidor de aplicativos J2EE no qual o AEM Forms é disponibilizado.
Criar um cliente do PDF Assembler
Antes de executar programaticamente uma operação do Assembler, você deve criar um cliente de serviço do Assembler.
Referencie um documento DDX existente
Para validar um documento DDX, você deve consultar um documento DDX existente.
Definir opções de tempo de execução para validar o documento DDX
Ao validar um documento DDX, você deve definir opções de tempo de execução específicas que instruam o serviço Assembler a validar o documento DDX em vez de executá-lo. Além disso, você pode aumentar a quantidade de informações que o serviço Assembler grava no arquivo de log.
Executar a validação
Depois de criar o cliente de serviço do Assembler, fazer referência ao documento DDX e definir as opções de tempo de execução, você poderá chamar o invokeDDX
operação para validar o documento DDX. Ao validar o documento DDX, você pode enviar null
como o parâmetro de mapa (este parâmetro geralmente armazena documentos de PDF que o Assembler requer para executar a(s) operação(ões) especificada(s) no documento DDX).
Se a validação falhar, uma exceção será lançada e o arquivo de log conterá detalhes que explicam por que o documento DDX é inválido e podem ser obtidos no OperationException
instância. Depois da análise XML básica e da verificação do esquema, a validação em relação à especificação DDX é executada. Todos os erros do documento DDX estão especificados no log.
Salvar os resultados da validação em um arquivo de log
O serviço do Assembler retorna os resultados da validação que você pode gravar em um arquivo de log XML. A quantidade de detalhes gravada pelo serviço Assembler no arquivo de log depende da opção de tempo de execução definida.
Consulte também
Validar um documento DDX usando a API Java
Validar um documento DDX usando a API do serviço Web
Inclusão de arquivos da biblioteca Java do AEM Forms
Definindo propriedades de conexão
Montagem programática de documentos do PDF
Validar um documento DDX usando a API Java validate-a-ddx-document-using-the-java-api
Valide um documento DDX usando a API de serviço do Assembler (Java):
-
Incluir arquivos de projeto.
Inclua arquivos JAR do cliente, como adobe-assembler-client.jar, no caminho de classe do projeto Java.
-
Crie um cliente PDF Assembler.
- Criar um
ServiceClientFactory
objeto que contém propriedades de conexão. - Criar um
AssemblerServiceClient
usando seu construtor e transmitindo oServiceClientFactory
objeto.
- Criar um
-
Consulte um documento DDX existente.
- Criar um
java.io.FileInputStream
objeto que representa o documento DDX usando seu construtor e transmitindo um valor de string que especifica o local do arquivo DDX. - Criar um
com.adobe.idp.Document
usando seu construtor e transmitindo ojava.io.FileInputStream
objeto.
- Criar um
-
Defina as opções de tempo de execução para validar o documento DDX.
- Criar um
AssemblerOptionSpec
objeto que armazena opções de tempo de execução usando seu construtor. - Defina a opção de tempo de execução que instrui o serviço Assembler a validar o documento DDX chamando o
AssemblerOptionSpec
método setValidateOnly e transmissão do objetotrue
. - Defina a quantidade de informações que o serviço Assembler grava no arquivo de log chamando o
AssemblerOptionSpec
do objetogetLogLevel
e transmitir um valor de string atende aos seus requisitos. Ao validar um documento DDX, você deseja que mais informações sejam gravadas no arquivo de log que auxiliará no processo de validação. Como resultado, você pode passar o valorFINE
ouFINER
.
- Criar um
-
Execute a validação.
Chame o
AssemblerServiceClient
do objetoinvokeDDX
e passe os seguintes valores:- A
com.adobe.idp.Document
objeto que representa o documento DDX. - O valor
null
para o objeto java.io.Map que geralmente armazena documentos PDF. - A
com.adobe.livecycle.assembler.client.AssemblerOptionSpec
objeto que especifica as opções de tempo de execução.
A variável
invokeDDX
o método retorna umAssemblerResult
objeto que contém informações que especificam se o documento DDX é válido. - A
-
Salve os resultados da validação em um arquivo de log.
- Criar um
java.io.File
e certifique-se de que a extensão do nome do arquivo seja .xml. - Chame o
AssemblerResult
do objetogetJobLog
método. Este método retorna um valor decom.adobe.idp.Document
instância que contém informações de validação. - Chame o
com.adobe.idp.Document
do objetocopyToFile
método para copiar o conteúdo docom.adobe.idp.Document
ao arquivo.
note note NOTE Se o documento DDX for inválido, uma OperationException
é lançado. Na instrução catch, você pode chamar a variávelOperationException
do objetogetJobLog
método. - Criar um
Consulte também
Início rápido (modo SOAP): validação de documentos DDX usando a API Java (modo SOAP)
Inclusão de arquivos da biblioteca Java do AEM Forms
Definindo propriedades de conexão
Validar um documento DDX usando a API do serviço Web validate-a-ddx-document-using-the-web-service-api
Valide um documento DDX usando a API de serviço do Assembler (serviço Web):
-
Incluir arquivos de projeto.
Crie um projeto Microsoft .NET que use MTOM. Certifique-se de usar a seguinte definição WSDL:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.note note NOTE Substitua localhost pelo endereço IP do Forms Server. -
Crie um cliente PDF Assembler.
-
Criar um
AssemblerServiceClient
usando seu construtor padrão. -
Criar um
AssemblerServiceClient.Endpoint.Address
usando oSystem.ServiceModel.EndpointAddress
construtor. Transmita um valor de string que especifique o WSDL para o serviço AEM Forms (por exemplo,http://localhost:8080/soap/services/AssemblerService?blob=mtom
). Não é necessário usar a variávellc_version
atributo. Esse atributo é usado quando você cria uma referência de serviço. -
Criar um
System.ServiceModel.BasicHttpBinding
obtendo o valor doAssemblerServiceClient.Endpoint.Binding
campo. Converter o valor de retorno emBasicHttpBinding
. -
Defina o
System.ServiceModel.BasicHttpBinding
do objetoMessageEncoding
campo paraWSMessageEncoding.Mtom
. Esse valor garante que a MTOM seja usada. -
Ative a autenticação HTTP básica executando as seguintes tarefas:
- Atribuir o nome de usuário dos formulários AEM ao campo
AssemblerServiceClient.ClientCredentials.UserName.UserName
. - Atribua o valor de senha correspondente ao campo
AssemblerServiceClient.ClientCredentials.UserName.Password
. - Atribuir o valor constante
HttpClientCredentialType.Basic
ao campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Atribuir o valor constante
BasicHttpSecurityMode.TransportCredentialOnly
ao campoBasicHttpBindingSecurity.Security.Mode
.
- Atribuir o nome de usuário dos formulários AEM ao campo
-
-
Consulte um documento DDX existente.
- Criar um
BLOB
usando seu construtor. A variávelBLOB
objeto é usado para armazenar o documento DDX. - Criar um
System.IO.FileStream
chamando seu construtor e transmitindo um valor de string que representa o local do arquivo do documento DDX e o modo em que o arquivo será aberto. - Crie uma matriz de bytes que armazene o conteúdo da variável
System.IO.FileStream
objeto. Você pode determinar o tamanho da matriz de bytes obtendo oSystem.IO.FileStream
do objetoLength
propriedade. - Preencha a matriz de bytes com dados de fluxo invocando o
System.IO.FileStream
do objetoRead
e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo para leitura. - Preencha o
BLOB
atribuindo seuMTOM
com o conteúdo da matriz de bytes.
- Criar um
-
Defina as opções de tempo de execução para validar o documento DDX.
- Criar um
AssemblerOptionSpec
objeto que armazena opções de tempo de execução usando seu construtor. - Defina a opção de tempo de execução que instrui o serviço Assembler a validar o documento DDX atribuindo o valor true ao
AssemblerOptionSpec
do objetovalidateOnly
membro de dados. - Defina a quantidade de informações que o serviço Assembler grava no arquivo de log atribuindo um valor de string ao
AssemblerOptionSpec
do objetologLevel
membro de dados. método Ao validar um documento DDX, você deseja que mais informações sejam gravadas no arquivo de log que auxiliará no processo de validação. Como resultado, é possível especificar o valorFINE
ouFINER
. Para obter informações sobre as opções de tempo de execução que podem ser definidas, consulteAssemblerOptionSpec
referência de classe em Referência da API do AEM Forms.
- Criar um
-
Execute a validação.
Chame o
AssemblerServiceClient
do objetoinvokeDDX
e passe os seguintes valores:- A
BLOB
objeto que representa o documento DDX. - O valor
null
para oMap
objeto que geralmente armazena documentos PDF. - Um
AssemblerOptionSpec
objeto que especifica as opções de tempo de execução.
A variável
invokeDDX
o método retorna umAssemblerResult
objeto que contém informações que especificam se o documento DDX é válido. - A
-
Salve os resultados da validação em um arquivo de log.
- Criar um
System.IO.FileStream
chamando seu construtor e transmitindo um valor de string que representa o local do arquivo de log e o modo em que o arquivo será aberto. Verifique se a extensão do nome do arquivo é .xml. - Criar um
BLOB
objeto que armazena informações de log obtendo o valor doAssemblerResult
do objetojobLog
membro de dados. - Crie uma matriz de bytes que armazene o conteúdo da variável
BLOB
objeto. Preencha a matriz de bytes obtendo o valor deBLOB
do objetoMTOM
campo. - Criar um
System.IO.BinaryWriter
objeto chamando seu construtor e transmitindo oSystem.IO.FileStream
objeto. - Grave o conteúdo da matriz de bytes em um arquivo PDF, chamando o
System.IO.BinaryWriter
do objetoWrite
e transmitindo a matriz de bytes.
note note NOTE Se o documento DDX for inválido, uma OperationException
é lançado. Na instrução catch, é possível obter o valor deOperationException
do objetojobLog
membro. - Criar um
Consulte também
Chamar o AEM Forms usando MTOM