Skip to content

Path API should support multiple top data nodes in RPC replies #657

@111pontes

Description

@111pontes

Expected Behavior

Path API should support multiple top data nodes in RPC replies

Current Behavior

Data parsing in RPC reply stops when reaching second top data node. Error message indicates the presence of extra content at the end of the document.

Logs

RPC

<?xml version="1.0"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <get-config xmlns="urn:ietf:params:xml:ns:netconf:base:1. 0">
    <source>
      <running/>
    </source>
    <filter>
      <host-names xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-cfg"/>
      <aaa xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg"/>
    </filter>
  </get-config>
</rpc>

RPC Reply

<?xml version="1.0"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
  <data>
    <host-names xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-cfg">
      <host-name>ler1</host-name>
    </host-names>
    <aaa xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg">
      <usernames xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-cfg">
        <username>
          <ordering-index>0</ordering-index>
          <name>admin</name>
          <usergroup-under-usernames>
            <usergroup-under-username>
              <name>root-lr</name>
            </usergroup-under-username>
            <usergroup-under-username>
              <name>cisco-support</name>
            </usergroup-under-username>
          </usergroup-under-usernames>
          <secret>$1$arsr$3kx1Ur/9N/Tacws8i2drx/</secret>
        </username>
      </usernames>
    </aaa>
  </data>
</rpc-reply>

Error

2017-12-18 21:17:36,879 - ydk - INFO - 

Entity: line 5: parser error : Extra content at the end of the document
    <aaa xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg">
    ^
2017-12-18 21:17:36,880 - ydk - ERROR - Parsing failed with message No resolvents found for type "ip-address".
Traceback (most recent call last):
  File "/usr/local/bin/netconf", line 9, in <module>
    load_entry_point('netconf-client==0.1.0.dev0', 'console_scripts', 'netconf')()
  File "/usr/local/lib/python3.5/dist-packages/netconf_client/cli.py", line 13, in main
    client.main()
  File "/usr/local/lib/python3.5/dist-packages/netconf_client/netconf_client.py", line 389, in main
    data = rpc.send()
  File "/usr/local/lib/python3.5/dist-packages/netconf_client/logger.py", line 24, in wrapper
    return_val = func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/netconf_client/commands/rpc_logger.py", line 27, in wrapper
    return_val = func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/netconf_client/commands/rpc.py", line 20, in send
    return self.rpc(self.provider)
RuntimeError: YCPPCoreError: YCPPCodecError:No resolvents found for type "ip-address".. Path: 
2017-12-18 21:17:36,922 - ydk - INFO - Disconnected from device

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions