Validar um documento DDX usando a API do serviço da Web validate-a-ddx-document-using-theweb-service-api
Valide um documento DDX usando a API do Serviço de Assembler (serviço da Web):
-
Inclua arquivos de projeto.
Crie um projeto Microsoft .NET que use MTOM. Certifique-se de usar a seguinte definição de WSDL:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.note note NOTE Substitua localhost pelo endereço IP do servidor de formulários. -
Crie um cliente Assembler PDF.
-
Crie um
AssemblerServiceClientusando seu construtor padrão. -
Crie um
AssemblerServiceClient.Endpoint.Addressusando oSystem.ServiceModel.EndpointAddressconstrutor. Passe um valor de string que especifica o WSDL para o serviço do AEM Forms (por exemplo,http://localhost:8080/soap/services/AssemblerService?blob=mtom). Não é necessário usar a variávellc_versionatributo. Esse atributo é usado ao criar uma referência de serviço. -
Crie um
System.ServiceModel.BasicHttpBindingobtendo o valor da variávelAssemblerServiceClient.Endpoint.Bindingcampo. Converta o valor de retorno paraBasicHttpBinding. -
Defina as
System.ServiceModel.BasicHttpBindingdo objetoMessageEncodingcampo paraWSMessageEncoding.Mtom. Esse valor garante que o MTOM seja usado. -
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 correspondente da senha ao campo
AssemblerServiceClient.ClientCredentials.UserName.Password. - Atribuir o valor constante
HttpClientCredentialType.Basicao campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Atribuir o valor constante
BasicHttpSecurityMode.TransportCredentialOnlyao campoBasicHttpBindingSecurity.Security.Mode.
- Atribuir o nome de usuário dos formulários AEM ao campo
-
-
Faça referência a um documento DDX existente.
- Crie um
BLOBusando seu construtor. OBLOBé usado para armazenar o documento DDX. - Crie um
System.IO.FileStreamchamando seu construtor e passando um valor de string que representa o local do arquivo do documento DX e o modo para abrir o arquivo no. - Crie uma matriz de bytes que armazene o conteúdo da variável
System.IO.FileStreamobjeto. Você pode determinar o tamanho da matriz de bytes obtendo a variávelSystem.IO.FileStreamdo objetoLengthpropriedade. - Preencha a matriz de bytes com dados de fluxo chamando a variável
System.IO.FileStreamdo objetoReade transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido. - Preencha o
BLOBao atribuir seuMTOMcom o conteúdo da matriz de bytes.
- Crie um
-
Defina opções de tempo de execução para validar o documento DDX.
- Crie um
AssemblerOptionSpecque 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
AssemblerOptionSpecdo objetovalidateOnlymembro de dados. - Defina a quantidade de informações que o serviço Assembler grava no arquivo de log atribuindo um valor de string à variável
AssemblerOptionSpecdo objetologLevelmembro de dados. método Ao validar um documento DDX, você deseja que mais informações sejam gravadas no arquivo de log que ajudará no processo de validação. Como resultado, é possível especificar o valorFINEouFINER. Para obter informações sobre as opções de tempo de execução que podem ser definidas, consulte oAssemblerOptionSpecreferência de classe em Referência da API do AEM Forms.
- Crie um
-
Execute a validação.
Chame o
AssemblerServiceClientdo objetoinvokeDDXe transmita os seguintes valores:- A
BLOBobjeto que representa o documento DDX. - O valor
nullparaMapobjeto que geralmente armazena documentos PDF. - Um
AssemblerOptionSpecque especifica as opções de tempo de execução.
O
invokeDDXretorna um métodoAssemblerResultobjeto que contém informações que especificam se o documento DDX é válido. - A
-
Salve os resultados de validação em um arquivo de log.
- Crie um
System.IO.FileStreamchamando seu construtor e passando um valor de string que representa o local do arquivo de log e o modo no qual o arquivo será aberto. Certifique-se de que a extensão do nome de arquivo seja .xml. - Crie um
BLOBobjeto que armazena informações de log obtendo o valor da variávelAssemblerResultdo objetojobLogmembro de dados. - Crie uma matriz de bytes que armazene o conteúdo da variável
BLOBobjeto. Preencha a matriz de bytes obtendo o valor da variávelBLOBdo objetoMTOMcampo. - Crie um
System.IO.BinaryWriterchamando seu construtor e passando oSystem.IO.FileStreamobjeto. - Escreva o conteúdo da matriz de bytes em um arquivo PDF chamando o
System.IO.BinaryWriterdo objetoWritee transmitindo a matriz de bytes.
note note NOTE Se o documento DDX for inválido, um OperationExceptioné jogada. Na declaração catch, é possível obter o valor da variávelOperationExceptiondo objetojobLogmembro. - Crie um
Consulte também
Chamar o AEM Forms usando MTOM