a_number = testCase->steps() + 1; // testCase is not NULL
}
-bool TestStep::decodeMessage() throw() {
+bool TestStep::decodeMessage(bool trust) throw() {
if (a_messageCodec) return true;
a_messageCodec = new anna::diameter::codec::Message;
if (::decodeMessage(a_message, *a_messageCodec)) return true;
+ if (trust) {
+ LOGDEBUG(anna::Logger::debug("Error DECODING, but trusting it ...", ANNA_FILE_LOCATION));
+ return true;
+ }
delete a_messageCodec;
a_messageCodec = NULL;
xmlmsg += a_messageCodec->asXMLString();
xmlmsg += "\n";
}
+ else {
+ xmlmsg = "<unable to decode, check traces>";
+ }
if (msg != "") result->createAttribute("Message", msg);
if (xmlmsg != "") result->createAttribute("XMLMessage", xmlmsg);
// Detailed log:
if(a_originHost->logEnabled()) {
- if (decodeMessage()) {
+ if (decodeMessage(true /* trust */)) {
std::string detail = usedClientSession ? usedClientSession->asString() : "<null client session>"; // shouldn't happen
a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2e" : "send2eError"), detail);
}
// Detailed log:
if(a_originHost->logEnabled()) {
- if (decodeMessage()) {
+ if (decodeMessage(true /* trust */)) {
std::string detail = usedServerSession ? usedServerSession->asString() : "<null server session>"; // shouldn't happen
a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2c" : "send2cError"), detail);
}
xmlmsg += a_messageCodec->asXMLString();
xmlmsg += "\n";
}
+ else {
+ xmlmsg = "<unable to decode, check traces>";
+ }
if (msg != "") result->createAttribute("MatchedMessage", msg);
if (xmlmsg != "") result->createAttribute("MatchedXMLMessage", xmlmsg);