title: Error adding service reference: Type is a recursive collection data contract which is not supported
body: <p>I tried to add a service reference to a WCF service that resides in the same solution from an ASP.NET MVC 4 project but failed. I got a error saying: </p>
  
  <blockquote>
    <p>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:</p>
    
    <p>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</p>
  </blockquote>
  
  <p>If I removed the data contracts from the service contract, it worked. I also tried to add the service reference to other projects like a library project or even an ASP.NET MVC 3 project, it all worked. I was wondering if this was an issue with ASP.NET MVC 4? I was using VS 2012 RC.</p>
  
  <p>One workaround I can think of is to add the service reference to a library project and then call the library project from ASP.NET MVC 4, but I hate to do that since it's an extra step. Any suggestions?</p>