Erro "Nenhuma classe de metadados definida para objeto de contrato de dados" no Dynamics AX 2012
Publicado: 16 de fevereiro de 2025 às 01:07:21 UTC
Última atualização: 12 de janeiro de 2026 às 08:45:48 UTC
Um breve artigo descrevendo uma mensagem de erro um tanto enigmática no Dynamics AX 2012, bem como a causa mais provável e a solução para o problema.
Error "No metadata class defined for data contract object" in Dynamics AX 2012
As informações neste post são baseadas no Dynamics AX 2012 R3. Elas podem ou não ser válidas para outras versões.
Recentemente, deparei-me com a mensagem de erro um tanto enigmática "Nenhuma classe de metadados definida para o objeto de contrato de dados" ao tentar iniciar uma classe de controlador SysOperation.
Após uma pequena investigação, descobri que a causa disso era que eu havia esquecido de decorar a ClassDeclaration da classe de contrato de dados com o atributo [DataContractAttribute].
Parece haver algumas outras causas possíveis, mas a descrita acima é de longe a mais provável. Estranho eu nunca ter me deparado com isso antes, mas acho que nunca me esqueci desse atributo, então ;-)
Anotado para referência futura :-)
Leitura adicional
Se você gostou deste post, você também pode gostar destas sugestões:
- A diferença entre data() e buf2Buf() no Dynamics AX 2012
- Chamando serviços de documentos AIF diretamente do X++ no Dynamics AX 2012
- Identificando a classe de documento e a consulta para o serviço AIF no Dynamics AX 2012
