Merge "version 4.0.8 replace RMR version to 3.8.0 Test fault in BuildXml.h"
diff --git a/RIC-E2-TERMINATION/BuildXml.h b/RIC-E2-TERMINATION/BuildXml.h
index fe6d757..beca88b 100644
--- a/RIC-E2-TERMINATION/BuildXml.h
+++ b/RIC-E2-TERMINATION/BuildXml.h
@@ -90,11 +90,18 @@
                 .child(messageName.c_str())
                 .child("protocolIEs")
                 .children(ieName.c_str())) {
-            auto node = tool.child("id");
+            // there can be many ieName entries in the messageName so we need only the ones that containes E2SM continers
+            auto node = tool.child("id");  // get the id to identify the type of the contained message
+            if (node.empty()) {
+                mdclog_write(MDCLOG_ERR, "Failed to find ID node in the XML. File %s, line %d",
+                        __FILE__, __LINE__);
+                continue;
+            }
             if (strcmp(node.name(), "id") == 0 && strcmp(node.child_value(), "10") == 0) {
                 auto nodea = tool.child("value").
                         child("RANfunctions-List").
                         children("ProtocolIE-SingleContainer");
+
                 for (auto n1 : nodea) {
                     auto n2 = n1.child("value").child("RANfunction-Item").child("ranFunctionDefinition");
                     n2.remove_children();
diff --git a/RIC-E2-TERMINATION/Dockerfile b/RIC-E2-TERMINATION/Dockerfile
index c1b0bd2..3ae2d15 100644
--- a/RIC-E2-TERMINATION/Dockerfile
+++ b/RIC-E2-TERMINATION/Dockerfile
@@ -39,10 +39,10 @@
 
 RUN wget --content-disposition https://github.com/cgreen-devs/cgreen/releases/download/1.2.0/cgreen_1.2.0_amd64.deb \
         && dpkg -i cgreen_1.2.0_amd64.deb \
-         && wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_3.6.2_amd64.deb/download.deb \
-         && dpkg -i rmr_3.6.2_amd64.deb \
-         && wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_3.6.2_amd64.deb/download.deb \
-         && dpkg -i rmr-dev_3.6.2_amd64.deb
+         && wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_3.8.0_amd64.deb/download.deb \
+         && dpkg -i rmr_3.8.0_amd64.deb \
+         && wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_3.8.0_amd64.deb/download.deb \
+         && dpkg -i rmr-dev_3.8.0_amd64.deb
 
 RUN apt-get install -y libcurl4-gnutls-dev gawk libtbb-dev  libtbb-doc libtbb2 libtbb2-dbg \
     && cd /opt/e2/RIC-E2-TERMINATION/3rdparty && git clone https://github.com/oktal/pistache.git && cd pistache \
@@ -92,8 +92,8 @@
 COPY --from=ubuntu /usr/local/lib/libnng.so.1  /usr/local/lib/libnng.so.1
 COPY --from=ubuntu /usr/local/lib/libnng.so.1.1.0  /usr/local/lib/libnng.so.1.1.0
 #
-COPY --from=ubuntu /usr/local/lib/librmr_nng.so.3.6.2 /usr/local/lib/librmr_nng.so.3.6.2
-COPY --from=ubuntu /usr/local/lib/librmr_si.so.3.6.2 /usr/local/lib/librmr_si.so.3.6.2
+COPY --from=ubuntu /usr/local/lib/librmr_nng.so.3.8.0 /usr/local/lib/librmr_nng.so.3.8.0
+COPY --from=ubuntu /usr/local/lib/librmr_si.so.3.8.0 /usr/local/lib/librmr_si.so.3.8.0
 COPY --from=ubuntu /usr/local/lib/librmr_si.so.3  /usr/local/lib/librmr_si.so.3
 COPY --from=ubuntu /usr/local/lib/librmr_si.so /usr/local/lib/librmr_si.so
 COPY --from=ubuntu /usr/local/lib/librmr_nng.so.3 /usr/local/lib/librmr_nng.so.3