all groups > vj# > may 2004 >
You're in the

vj#

group:

InvalidOperationException was unhandled


InvalidOperationException was unhandled Prasad Godde
5/13/2004 11:16:02 PM
vj#:
I am getting unhandled InvalidOperationException at runtime for statemen
mySerializer.Serialize(writer, myGroup)
at line no. 6

Could anybody please helpout in excecuting this code

//<Snippet1
import System.*
import System.IO.*
import System.Xml.*
import System.Xml.Serialization.*

public class Grou

public String groupName
public GroupType groupType
} //Grou

public class GroupTyp

// Use the SoapEnumAttribute to instruct the XmlSerialize
// to generate Small and Large instead of A and B
public int member

public GroupType(

member = 0
} //GroupTyp

public GroupType(int n

member = n
} //GroupTyp

/** @attribute SoapEnum("Small"
*
public static int a = 0

/** @attribute SoapEnum("Large"
*
public static int B = 1
} //GroupTyp

public class Ru

public static void main(String[] args

Run test = new Run()
test.SerializeObject("SoapEnum.xml")
test.SerializeOverride("SoapOverride.xml")
Console.WriteLine("Fininished writing two files")
} //mai

private void SerializeObject(String filename

// Create an instance of the XmlSerializer Class
XmlTypeMapping mapp = (new SoapReflectionImporter())
ImportTypeMapping(Group.class.ToType())
XmlSerializer mySerializer = new XmlSerializer(mapp)
// Writing the file requires a TextWriter
TextWriter writer = new StreamWriter(filename)
// Create an instance of the Class that will be serialized
Group myGroup = new Group()
// Set the object properties
myGroup.groupName = ".NET"
myGroup.groupType = new GroupType(GroupType.a)
// Serialize the Class, and close the TextWriter
mySerializer.Serialize(writer, myGroup)
writer.Close()
} //SerializeObjec

private void SerializeOverride(String fileName

SoapAttributeOverrides soapOver = new SoapAttributeOverrides()
SoapAttributes SoapAtts = new SoapAttributes()
// Add a SoapEnumAttribute for the GroupType.a enumerator.
// Instead of 'A' it will be "West"
SoapEnumAttribute soapEnum = new SoapEnumAttribute("West")
// Override the "A" enumerator
SoapAtts.set_SoapEnum(soapEnum)
soapOver.Add(GroupType.class.ToType(), "A", SoapAtts)
// Add another SoapEnumAttribute for the GroupType.B enumerator
// Instead of //B// it will be "East"
SoapAtts = new SoapAttributes()
soapEnum = new SoapEnumAttribute()
soapEnum.set_Name("East")
SoapAtts.set_SoapEnum(soapEnum)
soapOver.Add(GroupType.class.ToType(), "B", SoapAtts)
// Create an XmlSerializer used for overriding
XmlTypeMapping map = (new SoapReflectionImporter(soapOver))
ImportTypeMapping(Group.class.ToType())
XmlSerializer ser = new XmlSerializer(map)
Group myGroup = new Group()
myGroup.groupName = ".NET"
myGroup.groupType = new GroupType(GroupType.B)
// Writing the file requires a TextWriter
TextWriter writer = new StreamWriter(fileName)
ser.Serialize(writer, myGroup)
writer.Close()
} //SerializeOverrid
} //Ru
Re: InvalidOperationException was unhandled Lars-Inge Tønnessen
5/17/2004 2:28:46 PM

Sorry, I did not see your post until now. Please try this one.

Please see // HERE_____

import System.*;
import System.IO.*;
import System.Xml.*;
import System.Xml.Serialization.*;

public class Group
{
public String groupName;
public GroupType groupType;
} //Group

public class GroupType
{
public int member;
public GroupType()
{
member = 0;
} //GroupType

public GroupType(int n)
{
member = n;
} //GroupType

/** @attribute SoapEnum("Small") */
public static int a = 0;

/** @attribute SoapEnum("Large") */
public static int B = 1;
} //GroupType

public class Run
{
public static void main(String[] args)
{
Run test = new Run();
test.SerializeObject("SoapEnum.xml");
test.SerializeOverride("SoapOverride.xml");
Console.WriteLine("Fininished writing two files");
} //main

private void SerializeObject(String filename)
{
TextWriter writer = new StreamWriter(filename);
Group myGroup = new Group();
myGroup.groupName = ".NET";
myGroup.groupType = new GroupType(GroupType.a);

// HERE_________________
XmlSerializer mySerializer = new XmlSerializer( myGroup.GetType() );
// ______________________

mySerializer.Serialize(writer, myGroup);
writer.Close();
} //SerializeObject

private void SerializeOverride(String fileName)
{
SoapAttributeOverrides soapOver = new SoapAttributeOverrides();
SoapAttributes SoapAtts = new SoapAttributes();
SoapEnumAttribute soapEnum = new SoapEnumAttribute("West");
SoapAtts.set_SoapEnum(soapEnum);
soapOver.Add(GroupType.class.ToType(), "A", SoapAtts);
SoapAtts = new SoapAttributes();
soapEnum = new SoapEnumAttribute();
soapEnum.set_Name("East");
SoapAtts.set_SoapEnum(soapEnum);
soapOver.Add(GroupType.class.ToType(), "B", SoapAtts);
Group myGroup = new Group();
myGroup.groupName = ".NET";
myGroup.groupType = new GroupType(GroupType.B);
TextWriter writer = new StreamWriter(fileName);

// HERE_____________________
XmlSerializer ser = new XmlSerializer( myGroup.GetType() );
// __________________________

ser.Serialize(writer, myGroup);
writer.Close();
} //SerializeOverride

} //Run



Regards,
Lars-Inge Tønnessen
www.larsinge.com

AddThis Social Bookmark Button