You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2002/05/29 15:27:57 UTC

DO NOT REPLY [Bug 9492] New: - Public attribute serialization does not work

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9492>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9492

Public attribute serialization does not work

           Summary: Public attribute serialization does not work
           Product: Axis
           Version: beta-2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Serialization/Deserialization
        AssignedTo: axis-dev@xml.apache.org
        ReportedBy: bjmusenet@yahoo.com


The BeanSerializer classes are unable to serialize public attributes of classes 
due to a bug in org.apache.axis.utils.BeanUtils.

The loop on line 259 (beta2) contains a call to pd.get(i). This should be 
pd.get(j), since the loop goes over j, not i:

for (int j=0; j<pd.size() && !found; j++) {
  //Editor's note: next line contains bug
  String pName = ((BeanPropertyDescriptor)pd.get(i)).getName();
  if (pName.length() == fName.length() &&
      pName.substring(0,1).equalsIgnoreCase(fName.substring(0,1))) {
        found = pName.length() == 1 ||
             pName.substring(1).equals(fName.substring(1));
                        }
}

Unfortunately, all Exceptions are silently caught at the bottom of the method, 
so the user has a hard time figuring out the cause of the error (a 
NullPointerException is thrown at a later time as a result).