ArrayType does not work correctly if isWriteOuter == false
----------------------------------------------------------
Key: CXF-1564
URL: https://issues.apache.org/jira/browse/CXF-1564
Project: CXF
Issue Type: Bug
Components: Aegis Databinding
Affects Versions: 2.0.6, 2.1, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0,
2.1.1, 2.0.7
Reporter: Harri Hohteri
In org.apache.cxf.aegis.type.basic.ArrayType:
protected void writeValue(Object value, MessageWriter writer, Context
context, Type type, String name,
...
if (type.isWriteOuter()) {
cwriter = writer.getElementWriter(name, ns);
} else {
cwriter = writer;
}
if (value == null && type.isNillable()) {
cwriter.writeXsiNil();
} else {
type.writeObject(value, cwriter, context);
}
cwriter.close();
}
Should be:
protected void writeValue(Object value, MessageWriter writer, Context
context, Type type, String name,
...
if (type.isWriteOuter()) {
cwriter = writer.getElementWriter(name, ns);
} else {
cwriter = writer;
}
if (value == null && type.isNillable()) {
cwriter.writeXsiNil();
} else {
type.writeObject(value, cwriter, context);
}
if (type.isWriteOuter()) {
cwriter.close();
}
}
Similar bug was in XFire (http://jira.codehaus.org/browse/XFIRE-547).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.