reader.require(XMLStreamConstants.START_ELEMENT, Edm.NAMESPACE_M_2007_08, FormatXml.M_ERROR);
// read error data
boolean codeFound = false;
boolean messageFound = false;
ODataErrorContext errorContext = new ODataErrorContext();
while (notFinished(reader)) {
reader.nextTag();
if (reader.isStartElement()) {
String name = reader.getLocalName();
if (FormatXml.M_CODE.equals(name)) {
codeFound = true;
handleCode(reader, errorContext);
} else if (FormatXml.M_MESSAGE.equals(name)) {
messageFound = true;
handleMessage(reader, errorContext);
} else if (FormatXml.M_INNER_ERROR.equals(name)) {
handleInnerError(reader, errorContext);
} else {
throw new EntityProviderException(
EntityProviderException.INVALID_CONTENT.addContent(name, FormatXml.M_ERROR));
}
}
}
validate(codeFound, messageFound);
errorContext.setContentType(ContentType.APPLICATION_XML.toContentTypeString());
return errorContext;
}