if (__log.isWarnEnabled())
__log.warn("Fault response: faultName=" + fault.getName() + " faultType="+fault.getMessage().getQName()+ "\n" + DOMUtils.domToString(odeMsgEl));
QName faultType = fault.getMessage().getQName();
QName faultName = new QName(_definition.getTargetNamespace(), fault.getName());
Message response = odeMex.createMessage(faultType);
response.setMessage(odeMsgEl);
odeMex.replyWithFault(faultName, response);
} else {
if (__log.isWarnEnabled())
__log.warn("Fault response: faultType=(unkown)\n" + reply.getEnvelope().toString());
odeMex.replyWithFailure(FailureType.OTHER, reply.getEnvelope().getBody().getFault().getText(),
OMUtils.toDOM(reply.getEnvelope().getBody()));
}
} else {
Message response = odeMex.createMessage(odeMex.getOperation().getOutput().getMessage().getQName());
_converter.parseSoapResponse(response, reply.getEnvelope(), operation);
if (__log.isInfoEnabled()) __log.info("Response:\n" + (response.getMessage() != null ?
DOMUtils.domToString(response.getMessage()) : "empty"));
odeMex.reply(response);
}
} catch (Exception ex) {
String errmsg = "Unable to process response: " + ex.getMessage();
__log.error(errmsg, ex);