El jue, 29-03-2012 a las 21:18 -0700, Eric Tarasoff escribió:
> You might not like this answer but in situations like this, or even in
> Ajax situations, we use DTOs. Serializing complex object graphs (or
> even not so complex ones) always seems to be problematic.

you have any example to use DTO, link, code...with ActiveRecord


thanks


> 
> On Thu, Mar 29, 2012 at 8:54 PM, Joil <[email protected]> wrote:
>         Hi people, I have a problem with Relations mapping exposed in
>         a Web Service
>         
>         Model 
>         
>         [ActiveRecord]
>             public class Ticket : ActiveRecordValidationBase<Ticket>
>             {
>                 private IList _followup = new ArrayList();        
>                 
>                 [PrimaryKey(PrimaryKeyType.Native)]
>                 public int Id {
>                     get; set;
>                 }
>                 ...
>                 ...
>                 [HasMany(typeof(Followup), Inverse = true,
>         Table="Followup", ColumnKey="TicketId")]
>                 public IList Followups
>                 {
>                     get { return _followup; }
>                     set { _followup = value; }
>                 }
>             }
>             
>         [ActiveRecord]
>             public class Followup :
>         ActiveRecordValidationBase<Followup>
>             {
>                 private Ticket _ticket;
>                 
>                 [PrimaryKey(PrimaryKeyType.Native)]
>                 public int Id {
>                     get; set;
>                 }
>                 ...
>                 ...
>                 [BelongsTo("TicketId")]
>                 public Ticket TicketRef
>                 {
>                     get { return _ticket; }
>                     set { _ticket = value; }
>                 }
>             }
>             
>         
>         Web Serbice
>         
>             public class ws : System.Web.Services.WebService
>             {
>                 [WebMethod()]
>                 public Ticket[] ListAllTicket() {
>                     return (Ticket[]) Ticket.FindAll(typeof(Ticket));
>                 }
>             }    
>             
>             
>         Error Invoke WebMethod, output :
>             
>         500 - Internal Server Error
>         System.InvalidOperationException: There was an error
>         generating the XML document. --->
>         System.InvalidOperationException: A circular reference was
>         detected while serializing an object of type Ticket
>           at
>         System.Xml.Serialization.XmlSerializationWriter.WriteStartElement 
> (System.String name, System.String ns, System.Object o, Boolean 
> writePrefixed, ICollection namespaces) [0x00000] in <filename unknown>:0 
>           at
>         System.Xml.Serialization.XmlSerializationWriter.WriteStartElement 
> (System.String name, System.String ns, System.Object o, Boolean 
> writePrefixed) [0x00000] in <filename unknown>:0 
>           at
>         System.Xml.Serialization.XmlSerializationWriter.WriteStartElement 
> (System.String name, System.String ns, System.Object o) [0x00000] in 
> <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObject 
> (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, 
> System.String element, System.String namesp, Boolean isNullable, Boolean 
> needType, Boolean writeWrappingElem) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteMemberElement 
> (System.Xml.Serialization.XmlTypeMapElementInfo elem, System.Object 
> memberValue) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteElementMembers
>  (System.Xml.Serialization.ClassMap map, System.Object ob, Boolean 
> isValueList) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElementElements
>  (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob) 
> [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElement 
> (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, 
> System.String element, System.String namesp) [0x00000] in <filename 
> unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObject 
> (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, 
> System.String element, System.String namesp, Boolean isNullable, Boolean 
> needType, Boolean writeWrappingElem) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteMemberElement 
> (System.Xml.Serialization.XmlTypeMapElementInfo elem, System.Object 
> memberValue) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteListContent 
> (System.Object container, System.Xml.Serialization.TypeData listType, 
> System.Xml.Serialization.ListMap map, System.Object ob, 
> System.Text.StringBuilder targetString) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteMemberElement 
> (System.Xml.Serialization.XmlTypeMapElementInfo elem, System.Object 
> memberValue) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteElementMembers
>  (System.Xml.Serialization.ClassMap map, System.Object ob, Boolean 
> isValueList) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElementElements
>  (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob) 
> [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElement 
> (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, 
> System.String element, System.String namesp) [0x00000] in <filename 
> unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObject 
> (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, 
> System.String element, System.String namesp, Boolean isNullable, Boolean 
> needType, Boolean writeWrappingElem) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteMemberElement 
> (System.Xml.Serialization.XmlTypeMapElementInfo elem, System.Object 
> memberValue) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteListContent 
> (System.Object container, System.Xml.Serialization.TypeData listType, 
> System.Xml.Serialization.ListMap map, System.Object ob, 
> System.Text.StringBuilder targetString) [0x00000] in <filename unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteListElement 
> (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, 
> System.String element, System.String namesp) [0x00000] in <filename 
> unknown>:0 
>           at
>         
> System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObject 
> (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, 
> System.String element, System.String namesp, Boolean isNullable, Boolean 
> needType, Boolean writeWrappingElem) [0x00000] in <filename unknown>:0 
>           at
>         System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteRoot 
> (System.Object ob) [0x00000] in <filename unknown>:0 
>           at System.Xml.Serialization.XmlSerializer.Serialize
>         (System.Object o,
>         System.Xml.Serialization.XmlSerializationWriter writer)
>         [0x00000] in <filename unknown>:0 
>           at System.Xml.Serialization.XmlSerializer.Serialize
>         (System.Xml.XmlWriter writer, System.Object o,
>         System.Xml.Serialization.XmlSerializerNamespaces namespaces)
>         [0x00000] in <filename unknown>:0 
>           --- End of inner exception stack trace ---
>           at System.Xml.Serialization.XmlSerializer.Serialize
>         (System.Xml.XmlWriter writer, System.Object o,
>         System.Xml.Serialization.XmlSerializerNamespaces namespaces)
>         [0x00000] in <filename unknown>:0 
>           at System.Xml.Serialization.XmlSerializer.Serialize
>         (System.Xml.XmlWriter xmlWriter, System.Object o) [0x00000] in
>         <filename unknown>:0 
>           at System.Web.Services.Protocols.XmlReturnWriter.Write
>         (System.Web.HttpResponse response, System.IO.Stream
>         outputStream, System.Object returnValue) [0x00000] in
>         <filename unknown>:0 
>           at
>         
> System.Web.Services.Protocols.HttpSimpleWebServiceHandler.ProcessRequest 
> (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 
>         
>         
>         
>         Any idea, how to fix ?
>         
>             
>         
>         
> 
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to