diff --git a/CMakeLists.txt b/CMakeLists.txt
index c8487612..f7f5af88 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,6 +16,7 @@ find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rmw_implementation_cmake REQUIRED)
find_package(std_msgs REQUIRED)
+find_package(xmlrpcpp REQUIRED)
# find ROS 1 packages
set(cmake_extras_files cmake/find_ros1_package.cmake cmake/find_ros1_interface_packages.cmake)
diff --git a/package.xml b/package.xml
index 995a45aa..59381ffd 100644
--- a/package.xml
+++ b/package.xml
@@ -25,6 +25,7 @@
rcutils
rmw_implementation_cmake
std_msgs
+ xmlrpcpp
pkg-config
diff --git a/src/parameter_bridge.cpp b/src/parameter_bridge.cpp
index 55d74bc0..a16244e1 100644
--- a/src/parameter_bridge.cpp
+++ b/src/parameter_bridge.cpp
@@ -27,6 +27,7 @@
// include ROS 2
#include "rclcpp/rclcpp.hpp"
+#include
#include "ros1_bridge/bridge.hpp"
@@ -131,6 +132,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params)
"failed to create parametrize deadline: '%s'\n",
e.what());
}
+ catch (XmlRpc::XmlRpcException &e)
+ {
+ fprintf(
+ stderr,
+ "failed to create parametrize deadline: '%s'\n",
+ e.getMessage().c_str());
+ }
}
if (qos_params.hasMember("lifespan"))
@@ -150,6 +158,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params)
"failed to create parametrize lifespan: '%s'\n",
e.what());
}
+ catch (XmlRpc::XmlRpcException &e)
+ {
+ fprintf(
+ stderr,
+ "failed to create parametrize lifespan: '%s'\n",
+ e.getMessage().c_str());
+ }
}
if (qos_params.hasMember("liveliness"))
@@ -167,6 +182,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params)
"failed to create parametrize liveliness: '%s'\n",
e.what());
}
+ catch (XmlRpc::XmlRpcException &e)
+ {
+ fprintf(
+ stderr,
+ "failed to create parametrize liveliness: '%s'\n",
+ e.getMessage().c_str());
+ }
}
if (qos_params.hasMember("liveliness_lease_duration"))
@@ -186,6 +208,13 @@ rclcpp::QoS qos_from_params(XmlRpc::XmlRpcValue qos_params)
"failed to create parametrize liveliness_lease_duration: '%s'\n",
e.what());
}
+ catch (XmlRpc::XmlRpcException &e)
+ {
+ fprintf(
+ stderr,
+ "failed to create parametrize liveliness_lease_duration: '%s'\n",
+ e.getMessage().c_str());
+ }
}
}
else