still losing time with of halcyon incompatibile oars... cathch exceptions of the function that actually throws; Reduce log spam; don't let a broken MOAP stop all object deserialization. Fixing MOAP does not mean halcyon oars issues are fixed, just one. And really we should not even try to go against halcyon decison to be incompatible.(our MOAP encoding did not change since 2010)
parent
5bfe8b18fe
commit
d12957dc2c
|
@ -1364,27 +1364,25 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
string value = String.Empty;
|
string value = String.Empty;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// The prominant format for MOAP is escaped XML (with > etc).
|
// The STANDARD content of Media elemet is escaped XML string (with > etc).
|
||||||
// This is read as a string and passed to PrimitiveBaseShape which requires
|
|
||||||
// its XML as a string (which it parses with its own XmlReader).
|
|
||||||
value = reader.ReadElementContentAsString("Media", String.Empty);
|
value = reader.ReadElementContentAsString("Media", String.Empty);
|
||||||
|
shp.Media = PrimitiveBaseShape.MediaList.FromXml(value);
|
||||||
}
|
}
|
||||||
catch (XmlException e)
|
catch (XmlException e)
|
||||||
{
|
{
|
||||||
// There are versions of OAR files that contain unquoted XML.
|
// There are versions of OAR files that contain unquoted XML.
|
||||||
|
// ie ONE comercial fork that never wanted their oars to be read by our code
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[SERIALIZER] MOAP specification in non-escaped XML format. Recovering.");
|
|
||||||
value = reader.ReadInnerXml();
|
value = reader.ReadInnerXml();
|
||||||
}
|
|
||||||
catch (Exception ee)
|
|
||||||
{
|
|
||||||
m_log.ErrorFormat("[SERIALIZER] Failed parsing of MOAP information");
|
|
||||||
throw new XmlException("Failed parsing of MOAP media XML element");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
shp.Media = PrimitiveBaseShape.MediaList.FromXml(value);
|
shp.Media = PrimitiveBaseShape.MediaList.FromXml(value);
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat("[SERIALIZER] Failed parsing halcyon MOAP information");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue