You're welcome. I'm glad I can help. For your classes to be serializable, they need to contain only serializable objects. You can check on MSDN what are the serializable objects. Usually you can have all primitives types like int, string, byte, bool, long, float, etc... as well as arrays of these like int[], byte[], string[] etc...Other types may also be serializable (like DataSet). If you have a class "A" [being used by the web service] that contains some variables that are not serializable, I suggest you move all the serializable variables (those you want to send across the network) to a new class and reference that class in your class "A". Talal
-- If this is a post that has been helpful to you, please vote for it. Thank you! "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." --Rich Cook