unable to find topic_qos and more from Qos_Profile in xml file

5 posts / 0 new
Last post
Offline
Last seen: 5 years 1 month ago
Joined: 08/29/2019
Posts: 6
unable to find topic_qos and more from Qos_Profile in xml file

Hi currently i am trying out RTI Connext and i encounter a problem when i try to use an QoS file which was used for the ADLINK's Opensplice implementation. 

I added the qos_library is should, but it still can't find the sub elements past the qos_profile.

this is a snippet of my QoS.xml file.

 

<?xml version="1.0" encoding="UTF-8"?>
<dds
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="6.0.0">

<qos_library name="TestLibrary">
<qos_profile name="TestProfile" >

<topic_qos name="StaticData">

<durability>

<kind>TRANSIENT_DURABILITY_QOS</kind>

</durability>

<lifespan>

<duration>

<sec>DURATION_INFINITE_SEC</sec> <nanosec>DURATION_INFINITE_NSEC</nanosec>

</duration>

</lifespan>

</topic_qos>

</qos_library>
</qos_profile>

</dds>

and use "dds::core::QosProvider(ConvertToUri(pathQoSFile) + "QoS.xml, TestLibrary::TestProfile)" to make it known to manager.

i still get the following error:

 

DDS_QosProvider_get_profile_xml_objectI:ERROR: Profile 'TestLibrary::StaticData' not found

 


DDS_QosProvider_get_topic_qos_from_profile:ERROR: Profile '(null)::StaticData' not found

 

I have verified that it can find the profile from the QoS file, and ik can, and the profiles are also loaded. 

What is than the reason that i get this error?

I try to reuse my code which i used when trying out Opensplice as much as possible, and i don't have any problems there.

 Thanks in advance,

Nick

jmorales's picture
Offline
Last seen: 7 months 2 weeks ago
Joined: 08/28/2013
Posts: 60

I use the following code:

qosProvider = dds::core::QosProvider(
qos_file_path_string,
library_name_string + "::" + profile_name_string); 
That works for me to load in the qosProvider the profile you want. Then you need to obtain the topic_qos from the qosProfiler, that should be easy with the topic_qos
 
 
Offline
Last seen: 5 years 1 month ago
Joined: 08/29/2019
Posts: 6

with some tries a manage to change the error message.

I forced TestPofile::StaticData, but it doesn't change anything.

it is now either the above or:

 

DDS_QosProvider_get_profile_xml_objectI:ERROR: Profile 'TestProfile::StaticData' not found

 

 

 


DDS_QosProvider_get_topic_qos_from_profile:ERROR: Profile 'TestProfile::StaticData' not found

 

Offline
Last seen: 5 years 1 month ago
Joined: 08/29/2019
Posts: 6

I managed to solve my problem. When i call the QosProvider::topic_qos it asks for the profile itself. not the topic_qos. 

Aparently RTI handles this different than Adlink.

But after that i get a new error which i find dificult to understand.  

REDAFastBufferPool_growEmptyPoolEA: !allocate buffer of 68719444224 bytes
REDAFastBufferPool_newWithNotification:!create fast buffer pool buffers
PRESTypePluginDefaultEndpointData_createWriterPool:!create writer buffer pool
PRESPsService_enableLocalEndpointWithCursor:failed to attach endpoint to typePlugin
PRESPsService_enableLocalEndpoint:!enable local endpoint

jmorales's picture
Offline
Last seen: 7 months 2 weeks ago
Joined: 08/28/2013
Posts: 60

I am glad that you were able to make it work.

WRT your second issue, it sounds to me like you are using unbounded sequences but that you missed setting some properties (See this, extracted from this other post). If this is not the case, open a new thread with your issue.