1--- ../../src-unpatched/trunk/org/jivesoftware/smack/util/PacketParserUtils.java 2009-12-06 19:45:45.000000000 +0100 2+++ org/jivesoftware/smack/util/PacketParserUtils.java 2009-12-06 19:48:13.000000000 +0100 3@@ -25,7 +25,6 @@ 4 import org.jivesoftware.smack.provider.ProviderManager; 5 import org.xmlpull.v1.XmlPullParser; 6 7-import java.beans.PropertyDescriptor; 8 import java.io.ByteArrayInputStream; 9 import java.io.ObjectInputStream; 10 import java.util.ArrayList; 11@@ -828,14 +827,14 @@ 12 if (eventType == XmlPullParser.START_TAG) { 13 String name = parser.getName(); 14 String stringValue = parser.nextText(); 15- PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass); 16- // Load the class type of the property. 17- Class<?> propertyType = descriptor.getPropertyType(); 18+ Class propertyType = object.getClass().getMethod( 19+ "get" + Character.toUpperCase(name.charAt(0)) + name.substring(1)).getReturnType(); 20 // Get the value of the property by converting it from a 21 // String to the correct object type. 22 Object value = decode(propertyType, stringValue); 23 // Set the value of the bean. 24- descriptor.getWriteMethod().invoke(object, value); 25+ object.getClass().getMethod("set" + Character.toUpperCase(name.charAt(0)) + name.substring(1), propertyType) 26+ .invoke(object, value); 27 } 28 else if (eventType == XmlPullParser.END_TAG) { 29 if (parser.getName().equals(elementName)) { 30 31