Add nlohmann/json parser
[anna.git] / source / diameter.comm / Engine.cpp
index 4bd70ed..867b6cc 100644 (file)
@@ -125,7 +125,7 @@ void comm::Engine::setClientCERandDWR(const std::string & cer, const std::string
 
   if (cer != "") {
     try {
-      diameterCER.loadXML(cer);
+      diameterCER.loadXMLFile(cer);
     } catch(anna::RuntimeException &ex) {
       //ex.trace();
       encodeDefault = true;
@@ -156,7 +156,7 @@ void comm::Engine::setClientCERandDWR(const std::string & cer, const std::string
 
   if (dwr != "") {
     try {
-      diameterDWR.loadXML(dwr);
+      diameterDWR.loadXMLFile(dwr);
     } catch(anna::RuntimeException &ex) {
       //ex.trace();
       encodeDefault = true;
@@ -345,7 +345,7 @@ throw(anna::RuntimeException) {
   // Assignments (it could be done at allocate):
 
   if((a_cer.isEmpty()) || (a_dwr.isEmpty()))
-    throw anna::RuntimeException("Must define valid CER and DWR messages by mean setCERandDWR()", ANNA_FILE_LOCATION);
+    throw anna::RuntimeException("Must define valid CER and DWR messages by mean setClientCERandDWR()", ANNA_FILE_LOCATION);
 
   result->a_cer.setBody(a_cer);
   result->a_dwr.setBody(a_dwr);
@@ -1054,7 +1054,13 @@ bool comm::Engine::refreshAvailabilityForLocalServers() throw() {
 void comm::Engine::readDPA(anna::DataBlock &dpa, const anna::DataBlock & dpr) throw() {
 
   // Check for base protocol codec engine health:
-  assertBaseProtocolHealth();
+  try {
+    assertBaseProtocolHealth();
+  }
+  catch(anna::RuntimeException &ex) {
+    ex.trace();
+    return;
+  }
 
   // Default DPA implementation:
   //
@@ -1110,7 +1116,7 @@ void comm::Engine::readCEA(anna::DataBlock &cea, const anna::DataBlock &cer) thr
     anna::diameter::codec::Message diameterCEA(getBaseProtocolCodecEngine());
 
     try {
-      diameterCEA.loadXML(a_ceaPathfile);
+      diameterCEA.loadXMLFile(a_ceaPathfile);
       diameterCEA.setHopByHop(anna::diameter::codec::functions::getHopByHop(cer));
       diameterCEA.setEndToEnd(anna::diameter::codec::functions::getEndToEnd(cer));
       cea = diameterCEA.code();