I am interfacing ROS2 with native RTI DDS using xml app creation i.e. means all the QoS settings are in this xml file.
Now, for the native DDS application, I can set this .xml file but how can I set a similar sort of a configuration file for a ROS2 based function ?
Have you reviewed the material in: https://github.com/ros2/ros2/wiki/About-Quality-of-Service-Settings? ROS2 has a limited set of options for setting QoS.
You might have more success by setting the QoS policies in your DDS application to match the settings in ROS2. (BTW, this is a place where RTI Admin Console makes things a lot easier; it immediately reveals any QoS mismatches between the participants).
The DDS QoS settings I've used to get DDS/ROS2 interoperability include:
<publisher_qos>
)<participant_qos><resource_limits>
the max_serialized_length for type_code and type_object == 0)There are not many QoS settings made in the ROS2 RMW code; the Connext libs will look for a source of user QoS settings using the normal search order (detailed here) - meaning you can provide your own QoS settings to the Connext libs under ROS2, using a variety of methods. Here's what I did: