Intenté agregar una referencia de servicio a un servicio WCF que reside en la misma solución de un proyecto ASP.NET MVC 4 pero que falló. Me salió un error al decir:Error al agregar la referencia de servicio: Tipo es un contrato recursivo de datos de recopilación que no es compatible
Custom tool error: Failed to generate code for the service reference 'XXX'. Please check other error and warning messages for details. The root warning is:
Warning 9 Custom tool warning: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter Error: Type 'Newtonsoft.Json.Linq.JToken' is a recursive collection data contract which is not supported. Consider modifying the definition of collection 'Newtonsoft.Json.Linq.JToken' to remove references to itself. XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IXXX'] C:\Projects...\Reference.svcmap 1 1 pqrt.web
Si eliminé los contratos de datos del contrato de servicio, funcionó. También intenté agregar la referencia de servicio a otros proyectos, como un proyecto de biblioteca o incluso un proyecto ASP.NET MVC 3, todo funcionó. Me preguntaba si esto era un problema con ASP.NET MVC 4? Estaba usando VS 2012 RC.
Una solución que puedo pensar es añadir la referencia de servicio a un proyecto de biblioteca y luego llamar al proyecto de biblioteca de ASP.NET MVC 4, pero odio hacerlo porque es un paso adicional. ¿Alguna sugerencia?
Mi respuesta podría ser la base totalmente fuera ... se puede incluir el contrato de datos con su pregunta? –