Validar um documento DDX usando a API do serviço Web validate-a-ddx-document-using-theweb-service-api
Os exemplos e amostras neste documento são somente para AEM Forms no ambiente JEE.
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