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 view this discussion on the web visit
https://groups.google.com/d/msg/castle-project-users/-/YtDffUjnwfgJ.
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.