eProsima / Integration-Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XML parsing issue: integraton-service for "WAN-TCP tunneling over DDS"

magladko opened this issue · comments

Hi,
I wanted to test the possibilities of using you solution for WAN connections based on this tutorial. However, I am unable to execute the integraton-service on either end as it gives me those errors:

Server side:

~/is-workspace$ integration-service src/Integration-Service/examples/wan_tunneling/ros2__wan_helloworld/wan_server_talker.yaml 
[Integration Service][INFO] [is::sh::ROS2] Created node '/is_ros2_node_1804289383' with Domain ID: 0
[Integration Service][INFO] [is::sh::ROS2] Configured!
2024-02-19 15:32:08.578 [XMLPARSER Error] Error opening 'wan_config.xml' -> Function loadXML
2024-02-19 15:32:08.578 [XMLPARSER Error] Error parsing 'wan_config.xml' -> Function loadXMLFile
[Integration Service][ERROR] [is::sh::FastDDS::Participant] Loading provided XML file in 'file_path' field was not successful
[Integration Service][ERROR] [is::core::Config] The middleware 'dds' configuration step failed
[Integration Service][ERROR] [is::core::InstanceHandle] Failed to load middlewares!

Client side:

~/is-workspace$ integration-service src/Integration-Service/examples/wan_tunneling/ros2__wan_helloworld/wan_client_listener.yaml 
[Integration Service][INFO] [is::sh::ROS2] Created node '/is_ros2_node_1804289383' with Domain ID: 0
[Integration Service][INFO] [is::sh::ROS2] Configured!
[Integration Service][ERROR] [is::sh::FastDDS::Participant] Loading provided XML file in 'file_path' field was not successful
[Integration Service][ERROR] [is::core::Config] The middleware 'dds' configuration step failed
[Integration Service][ERROR] [is::core::InstanceHandle] Failed to load middlewares!
2024-02-19 16:28:35.347 [XMLPARSER Error] Error opening 'wan_config.xml' -> Function loadXML
2024-02-19 16:28:35.347 [XMLPARSER Error] Error parsing 'wan_config.xml' -> Function loadXMLFile

The issue persists even when I leave the wan_config.xml file untouched (and just to note, I only change the server address).

Just to be on the same page, I leave the xml I use here:

<?xml version="1.0"?>
<profiles>
    <transport_descriptors>
        <transport_descriptor>
            <transport_id>tcp_transport_server</transport_id>
            <type>TCPv4</type>
            <listening_ports>
                <port>5100</port>
            </listening_ports>
            <wan_addr>80.80.99.45</wan_addr>
        </transport_descriptor>
    </transport_descriptors>

    <transport_descriptors>
        <transport_descriptor>
            <transport_id>tcp_transport_client</transport_id>
            <type>TCPv4</type>
        </transport_descriptor>
    </transport_descriptors>

    <participant profile_name="is_profile_server">
        <rtps>
            <userTransports>
                <transport_id>tcp_transport_server</transport_id>
            </userTransports>
            <builtin>
                <discovery_config>
                    <leaseAnnouncement>
                        <sec>1</sec>
                    </leaseAnnouncement>
                </discovery_config>
            </builtin>
            <useBuiltinTransports>false</useBuiltinTransports>
        </rtps>
    </participant>

    <participant profile_name="is_profile_client">
        <rtps>
            <userTransports>
                <transport_id>tcp_transport_client</transport_id>
            </userTransports>
            <builtin>
                <initialPeersList>
                    <locator>
                        <tcpv4>
                            <physical_port>5100</physical_port>
                            <address>80.80.99.45</address>
                        </tcpv4>
                    </locator>
                </initialPeersList>
                <discovery_config>
                    <leaseAnnouncement>
                        <sec>1</sec>
                    </leaseAnnouncement>
                </discovery_config>
            </builtin>
            <useBuiltinTransports>false</useBuiltinTransports>
        </rtps>
    </participant>

</profiles>

DDS-Router did the job instead