Erro "Nenhuma classe de metadados definida para o objeto de contrato de dados" no Dynamics AX 2012
Publicado: 16 de fevereiro de 2025 às 01:07:22 UTC
Última atualização: 12 de janeiro de 2026 às 08:46:12 UTC
Um pequeno artigo que descreve uma mensagem de erro algo enigmática no Dynamics AX 2012, bem como a causa mais provável e a correção.
Error "No metadata class defined for data contract object" in Dynamics AX 2012
A informação neste artigo baseia-se no Dynamics AX 2012 R3. Pode ou não ser válida para outras versões.
Recentemente, deparei-me com a mensagem de erro algo enigmática "Nenhuma classe de metadados definida para objeto de contrato de dados" ao tentar iniciar uma classe controlador SysOperation.
Depois de alguma investigação, descobriu-se que a causa disto foi que me esqueci de decorar a ClassDeclaration da classe data contract com o atributo [DataContractAttribute].
Parece haver mais algumas causas possíveis, mas a acima é, de longe, a mais provável. Estranho nunca o ter encontrado antes, mas acho que nunca me esqueci dessa característica antes ;-)
Fico aqui registado para referência futura :-)
Leitura adicional
Se gostou deste post, também pode gostar destas sugestões:
- Identificação da classe de documento e da consulta para o serviço AIF no Dynamics AX 2012
- Como iterar sobre os elementos de um Enum a partir do código X++ no Dynamics AX 2012
- Utilização de uma consulta numa classe de contrato de dados SysOperation no Dynamics AX 2012
