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
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 correcção para a mesma.
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. Pode ou não ser válido para outras versões.
Recentemente, encontrei a mensagem de erro algo 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 disto foi que me esqueci de decorar a ClassDeclaration da classe de contrato de dados com o atributo [DataContractAttribute].
Parece que existem algumas outras causas possíveis, mas a acima referida é de longe a mais provável. Estranho que não tenha encontrado isto antes, mas acho que nunca me esqueci deste atributo antes, por isso ;-)
Aqui anotado para referência futura :-)