faultMediator.setFaultCodeValue(
new QName(OMElementUtils.getNameSpaceWithPrefix(prefix, code), name, prefix));
} else if (expression != null) {
try {
AXIOMXPath xp = new AXIOMXPath(expression.getAttributeValue());
OMElementUtils.addNameSpaces(xp, code, log);
faultMediator.setFaultCodeExpr(xp);
} catch (JaxenException je) {
String msg = "Invalid fault code expression : " + je.getMessage();
log.error(msg);
throw new SynapseException(msg, je);
}
} else {
String msg = "A 'value' or 'expression' attribute must specify the fault code";
log.error(msg);
throw new SynapseException(msg);
}
} else {
String msg = "The fault code is a required attribute for the makefault mediator";
log.error(msg);
throw new SynapseException(msg);
}
OMElement reason = elem.getFirstChildWithName(REASON_Q);
if (reason != null) {
OMAttribute value = reason.getAttribute(ATT_VALUE);
OMAttribute expression = reason.getAttribute(ATT_EXPRN);
if (value != null) {
faultMediator.setFaultReasonValue(value.getAttributeValue());
} else if (expression != null) {
try {
AXIOMXPath xp = new AXIOMXPath(expression.getAttributeValue());
OMElementUtils.addNameSpaces(xp, reason, log);
faultMediator.setFaultReasonExpr(xp);
} catch (JaxenException je) {
String msg = "Invalid fault reason expression : " + je.getMessage();